【发布时间】:2014-02-12 00:12:50
【问题描述】:
我有一个数据框dat,其中一列dat$QC 包含质量代码,作为一个整数。我想添加一个新列QS,其中包含描述每行质量代码的字符串。
这是我尝试过的:我将质量代码存储在一个向量 qcIDs 中,并将字符串存储在另一个向量 qcStrings 中。然后我遍历这些并相应地填充数据框中的新列。像这样:
qcIDs <- c(1,2,3)
qcStrings <- c('foo', 'bar', 'baz')
for (ii in 1:length(qcIDs)) {
dat$QS[dat$QC == qcIDs[ii]] <- qcStrings[ii]
}
我是 R 新手,经常阅读有比 for 循环更好的解决问题的方法。有没有更多的 R-ish 方法来解决这个问题?上面的内容是不是和我感觉一样笨拙(感觉很笨拙)?谢谢。
【问题讨论】: