2016-10-10 40 views
-4

我有一个网站的在线购买数据集。每行代表不同的物品包装,但它不一定代表单独的订单。我想知道一个包裹里装了多少不同的物品。 变量order_code reperesents一个特定的顺序。如何统计有多少行具有相同的代码 - R

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

data$result <- group_by(data,order_code) 

这不返回所期望的结果...

的数据和最终outut应该looke像下表:

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

请您所需的输出一起提供可重复的例子。 – 989

+0

您需要总结数据。也许'data%>%group_by(order_code)%>%summarize(n = n())',但用数据样本更易于判断 –

+0

我在问题I中添加了我的表的示例,如果有帮助.. –

回答

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 
+0

这确实提供了正确的输出,谢谢。但结果应该写入数据集。我用一个例子更新了我的问题...... –

+0

现在使用您的示例进行更新 – Shearn

相关问题