-4

我正在尝试编写一个 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

有任何想法吗?

4

1 回答 1

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 略微更改了数据。

于 2012-06-21T23:50:06.727 回答