如何计算有多少行具有相同的代码 - R.

时间:2016-10-10 12:28:20

标签: r

我有一个网站上的在线购买数据集。每行代表不同的项目包装,但它不一定代表单独的订单。我想知道在一个包裹中装了多少个不同的物品。 变量 order_code 重复特定订单。

我想知道如何计算包含相同order_code的行 - >这将直接对应于每个订单中我有多少商品。

data$result <- group_by(data,order_code)

这不会返回预期的结果......

数据和最终的输出应该如下表所示:

order_code  date         desired output
302492016   2016-07-01  
302492016   2016-07-01    2
302502016   2016-07-01  
302502016   2016-07-01    2
302512016   2016-07-01  
302512016   2016-07-01    2
302522016   2016-07-01    1
302532016   2016-07-01  
302532016   2016-07-01    2

1 个答案:

答案 0 :(得分:0)

使用以下示例数据:

> df
  order_code       date
1  302492016 2016-07-01
2  302492016 2016-07-01
3  302502016 2016-07-01
4  302502016 2016-07-01
5  302512016 2016-07-01
6  302512016 2016-07-01
7  302522016 2016-07-01
8  302532016 2016-07-01
9  302532016 2016-07-01

计算order_code的频率:

> library(plyr)
> freq <- count(df, 'order_code')

> freq
  order_code freq
1  302492016    2
2  302502016    2
3  302512016    2
4  302522016    1
5  302532016    2

与原始数据框合并:

> df2 <- data.frame(merge(df,freq, by="order_code", all=TRUE))

> df2
  order_code       date freq
1  302492016 2016-07-01    2
2  302492016 2016-07-01    2
3  302502016 2016-07-01    2
4  302502016 2016-07-01    2
5  302512016 2016-07-01    2
6  302512016 2016-07-01    2
7  302522016 2016-07-01    1
8  302532016 2016-07-01    2
9  302532016 2016-07-01    2