【发布时间】:2017-01-10 21:58:11
【问题描述】:
我有一个数据框 A:
ID A B C
2000 2 3 4
2001 2 7 2
2002 1 8 5
2003 6 2 3
还有另一个数据框 B:
ID B
2001 0
2003 0
预期输出:
ID A B C
2000 2 3 4
2001 2 0 2
2002 1 8 5
2003 6 0 3
这是一个大型数据集,我想找到所有常见的 ID 并将特定列替换为来自另一个数据帧的值。
我该怎么做?
【问题讨论】:
-
@nrussell 如何合并它们,因为我只想“插入”其中一列? A 和 B 中的列不一样。
-
dfA[match(dfB$ID, dfA$ID),names(dfB)[-1]] <- dfB[-1]适用于要替换的任意数量的列。 -
在 ID 上左连接并使用 dfB 中满足连接约束的 B 值,否则使用 dfA 中的 B 值。
标签: r