使用R翻译'编码'表

时间:2012-07-29 14:27:05

标签: r

使用 R 来“翻译”编码表时遇到问题。所以我有一个包含XX,XY,YY表格元素的表格。我有第二个表(.csv),其中包含X和Y的正确含义 - 所以它可能看起来像,如果X = 1且Y = 2,

XY转换为12 XX转变为11 ......

任何人都可以提示在 R 中编写这样的程序/代码吗?

1 个答案:

答案 0 :(得分: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)