【发布时间】:2018-06-16 09:14:39
【问题描述】:
也许问题和答案已经发布了,但我找不到。此外,有没有解决这个问题的最佳方法? 因为这只是一些行的示例,但我会将其应用于大约 100 万行的数据框。
我对 R 有点陌生。
我有两个数据框
DF1:
a b
1 1 0
2 2 0
3 2 0
4 3 0
5 5 0
和
DF2
l
1 A
2 B
3 C
4 D
5 E
我尝试做的是将 DF1$a 中的值与 DF2 的索引进行匹配,并将这些值分配给 DF1$b,这样我的结果将如下所示。
DF1:
a b
1 1 A
2 2 B
3 2 B
4 3 C
5 5 E
我已经编写了一个 for 循环来执行此操作,但似乎我遗漏了一些东西
for(i in 1:length(df1$a)){
df1$b[i] <- df2$l[df1$a[i]]
}
这会引发以下结果:
DF1:
a b
1 1 1
2 2 2
3 2 2
4 3 3
5 5 5
提前致谢:)
【问题讨论】:
-
索引在 R 中是矢量化的。试试
df1$b<- df2$l[df1$a]。
标签: r vector indexing match matching