我在R中有两个数据框,如下所示...我需要在df1中添加新列(count_orders),其中包含df2中的订单计数(或df2中的买方计数)。
请帮忙。
> df1
buyer city
1 A xx
2 B yy
3 C zz
> df2
order buyer item
1 1 A 1
2 2 A 2
3 3 B 1
4 4 A 2
5 5 B 1
6 6 C 3
7 7 C 4
预期产量:
> df1
buyer city count_orders
1 A xx 3
2 B yy 2
3 C zz 2
最佳答案
这是dplyr的方法:
library(dplyr)
count(df2, buyer) %>% right_join(df1, "buyer")
#Source: local data frame [3 x 3]
#
# buyer n city
#1 A 3 xx
#2 B 2 yy
#3 C 2 zz
您可以使用
count(df2, buyer) %>% right_join(df1)
并让dplyr自己确定要加入的列(在这种情况下为“买方”)。