我为我的数据做了一个小例子:
mth <- c(rep(1,10))
day <- c(rep(10,5),rep(11,5))
hr <- c(3,4,5,6,7,3,4,5,6,7)
v <- c(3,4,5,4,3,3,4,5,4,3)
A <- data.frame(cbind(mth,day,hr,v))
我需要做的是每天获得多少值<4,我试图使用函数 rle
,但是无法得到我需要的东西 . 输出应如下所示:
mth <- c(rep(1,2))
day <- c(10,11)
v <- c(2,2) #each 2 here is the sum of 1(3)+1(3) for Oct. and Nov.
A <- data.frame(cbind(mth,day,v))
谢谢您的帮助!
4 回答
使用ddply很容易
或者你可以使用
summarize
这是
tapply
的基本解决方案:(它将比plyr解决方案快得多,但最有可能排在data.table方法的第二位 . )
一个
data.table
解决方案基准测试
随着
sqldf