2012-07-29 70 views
-1

我使用R'翻译'回编码表时遇到问题。所以我有一张由XX,XY,YY组成的表格元素的表格。我有第二个表格(.csv),其中X和Y的含义是正确的 - 因此,如果X = 1且Y = 2,则看起来像这样:将XX转换为11。 ..使用R来翻译“编码”表

任何人都可以提示一个很好的起点,在R中写这样的程序/一段代码吗?

+0

试试这个http://broadcast.oreilly.com/2010/03/lookup-performance-in-r.html – 2012-07-29 14:38:57

回答

2

这与查找表略有不同,因为您实际上正在拼写并替换每个元素的部分。 qdap(定量话语分析包)有一个mgsub(多个gsub)函数,可以轻松处理这个问题。

library(qdap) 

#recreate scenerio with quick character vector (no need for quotes) 
z <- factor(qcv(XX,XY,YY)) 
#replace all X and Ys with 1 and 2 
mgsub(pattern = c("X", "Y"), replacement = c(1, 2), text.var = z) 


#Even better if you have the code book read in, say it looks like this: 
code.book <- data.frame(symb = c("X", "Y"), replacement = c(1, 2)) 

# > code.book 
# symb replacement 
# 1 X   1 
# 2 Y   2 

mgsub(code.book$symb, code.book$replacement, z) 
+0

hey..that的awesome..The唯一的事情是,我可能还没有作出十分清楚表中的每个元素都有另一个翻译。因此,对于名称为XY的元素[1,3],翻译不会是12,但它们可以翻译为其他值,例如56 .... – 2012-07-30 06:28:14

+1

我认为您必须编辑原始答案并更明确地显示样本放入,代码簿和所需的输出。 – 2012-07-30 11:33:51