我有一个如下数据集:
Date Country Item Qty Value
15-04-2014 SE 08888 2 20
28-04-2014 SE 08888 2 20
05-05-2014 SE 08888 6 80
我希望在日期早于5月1日之前对数量值求和,并且汇总值(总和)应标记为5月1日。
我尝试ddply
,但无论日期如何,它都会计算所有值。
ddply(se, .(se$Item), summarize, Qty = sum(se$Qty), Value = sum(se$Value))
还尝试按日期进行子集化,但没有取得多大成功。
se$Date <- as.Date(as.character(se$Date))
se_q <- subset(se,se$Date <= 01-05-2014)
Date Country Item Qty Value
0015-04-20 SE 08888 2 20
0028-04-20 SE 08888 2 20
0005-05-20 SE 08888 6 80
如何在代码中添加日期参数?或者我怎么能这样做?
谢谢
答案 0 :(得分:0)
您可以使用dplyr
例如:
require(dplyr)
> df %.%
filter(Date <= as.Date("2014-05-01")) %.%
# group_by(Item) %.% #you can add this line if you need to group by Item (it will appear in the output then)
summarize(Date = as.Date("2014-05-01"), Qty = sum(Qty), Value = sum(Value))
# Date Qty Value
#1 2014-05-01 4 40
subset
中的问题是,您没有告诉R 2014-05-01
是Date
。