【发布时间】:2014-09-21 10:08:27
【问题描述】:
我的情况是我有一个数据框,其中有一列填充了整数 1 到 6。我想用更具描述性的标签替换这些整数,这些标签在另一个充当“键”的数据框中提供:
V1 V2
1 1 LABEL1
2 2 LABEL2
3 3 LABEL3
4 4 LABEL4
5 5 LABEL5
6 6 LABEL6
因此,每当我在第一个数据框列 (df$colX) 中找到数字 1 时,我想将其替换为 LABEL1(即标签列 2,其中 df$colX == 标签列 1)。
我试过了
replace(df$colX,labels[,1],labels[,2])
但这只是出于某种原因将整数转换为带引号的整数。
我可以用一个 for 循环来做到这一点,但这似乎很慢。
我也遵循了 StackOverflow 上关于因子的一些建议,但我在这里使用的列似乎都没有涉及因子(使用 stringsAsFactors = FALSE 阅读)。有什么想法吗?
【问题讨论】:
-
我会为此使用
merge。 -
谢谢。这几乎是我正在寻找的。我想替换列中的值,而不是在数据框中添加额外的列。
-
嗯... df$V1