-1

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

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

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

4

1 回答 1

2

这与查找表略有不同,因为您实际上是在正则表达式和替换每个元素的部分。qdap (Quantitative Discourse Analysis Package) 有一个mgsub(multiple 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)
于 2012-07-29T16:00:49.887 回答