我在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自己确定要加入的列(在这种情况下为“买方”)。

10-06 07:17