我对如何采用以下方式格式化数据帧的平均值感到有些迷茫:
id date quantity product
1 12-05-2015 10 apple
2 21-03-2015 12 orange
3 12-05-2015 15 orange
4 21-03-2015 16 apple
Run Code Online (Sandbox Code Playgroud)
预期结果:
date quantity
21-03-2015 14
12-05-2015 12.5
Run Code Online (Sandbox Code Playgroud)
我尝试将它转换为zoo对象,但随后我遇到问题,因为日期不是唯一的.
尝试
aggregate(quantity~date, df1, mean)
# date quantity
#1 12-05-2015 12.5
#2 21-03-2015 14.0
Run Code Online (Sandbox Code Playgroud)
要么
library(data.table)
setDT(df1)[, list(quantity=mean(quantity)), date]
Run Code Online (Sandbox Code Playgroud)
正如@Alex A.在评论中提到的,list(可以.(在最近的data.table版本中替换.