【发布时间】:2018-07-31 21:00:55
【问题描述】:
我有一个数据框df1
df1<- data.frame(ID = c("A","B","A","A","B"),CLASS = c(1,1,2,1,4))
ID CLASS
1 A 1
2 B 1
3 A 2
4 A 1
5 B 4
还有另外两个数据框A和B
> A<- data.frame(CLASS = c(1,2,3), DESCRIPTION = c("Unknown", "Tall", "Short"))
CLASS DESCRIPTION
1 1 Unknown
2 2 Tall
3 3 Short
> B <- data.frame(CLASS = c(1,2,3,4), DESCRIPTION = c("Big", "Small", "Medium", "Very Big"))
CLASS DESCRIPTION
1 1 Big
2 2 Small
3 3 Medium
4 4 Very Big
我想根据df1 的 ID 和类合并这三个数据框,得到类似这样的结果:
ID CLASS DESCRIPTION
1 A 1 Unknown
2 B 1 Big
3 A 2 Tall
4 A 1 Unknown
5 B 4 Very Big
我知道我可以将它合并为df1 <- merge(df1, A, by = "CLASS"),但我找不到添加条件(可能“如果”太多)以根据 ID 也合并 B 的方法。
我需要一种有效的方法来执行此操作,因为我将其应用于超过 2M 行。
【问题讨论】:
-
你能解释一下
df1的第5行吗?CLASS = 4是怎么结束的? -
@coffeinjunky 抱歉,在 df1 中应该是 4。已编辑。