根据每日最大值进行求和

时间:2012-06-21 23:11:34

标签: r dataframe max subset

我正在尝试编写一个R脚本,该脚本将通过我从excel电子表格导入的数据帧(请参阅下面的格式),并查找每日最大值之和(包括每日最大值)

数据看起来像这样:

5/1/2012  0:00  0         
5/1/2012  3:00  1
5/1/2012  6:00  2
5/1/2012  9:00  5
5/1/2012 12:00  3
5/1/2012 15:00  6
5/1/2012 18:00  2
5/1/2012 21:00  1
5/2/2012  0:00  2
5/2/2012  3:00  3
5/2/2012  6:00  6
5/2/2012  9:00  4
5/2/2012 12:00  6
5/2/2012 15:00  7
5/2/2012 18:00  9
5/2/2012 21:00  1

所以我想象的功能会回归:

1 5/1/2012 15:00 17
2 5/2/2012 18:00 35

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这是对@Thierry在上一个问题中给出的答案的一个非常小的调整

dat.str <- '5/1/2012  0:00  0 
5/1/2012  3:00  1
5/1/2012  6:00  2
5/1/2012  9:00  5
5/1/2012 12:00  3
5/1/2012 15:00  6
5/1/2012 18:00  2
5/1/2012 21:00  1
5/2/2012  0:00  2
5/2/2012  3:00  3
5/2/2012  6:00  6
5/2/2012  9:00  4
5/2/2012 12:00  6
5/2/2012 15:00  7
5/2/2012 18:00  9
5/2/2012 21:00  1
'

dat <- read.table(textConnection(dat.str))

library(plyr)
ddply(dat, .(V1), function(x){
   sum(x[1:(which.max(x$V3)), "V3"])
})

我还要说你没有表现出任何主动性或任何工作。 编辑@John是的,由于上一个问题已经编辑以反映这一点,OP稍微改变了数据。