R 聚合奇偶对
我试图通过每两周查找一次最大值来简化一个大型数据集(52k+行)。我已经为每一行指定了周数值,并使用aggregate()函数查找每周的最大值 简化样本数据:R 聚合奇偶对,r,aggregate,R,Aggregate,我试图通过每两周查找一次最大值来简化一个大型数据集(52k+行)。我已经为每一行指定了周数值,并使用aggregate()函数查找每周的最大值 简化样本数据: week <- c(1:5, 5, 7:10) conc <- rnorm(mean=50, sd=20, n=10) df <- data.frame(week,conc) aggregate(df, by=list(week), FUN=max) 一周 注意:您可以使用map2\u dbl代替map2,并获得一个
week <- c(1:5, 5, 7:10)
conc <- rnorm(mean=50, sd=20, n=10)
df <- data.frame(week,conc)
aggregate(df, by=list(week), FUN=max)
一周
注意:您可以使用map2\u dbl
代替map2
,并获得一个数值向量
编辑:删除了关于df2
的部分,因为这是一个错误。使用pracma::ceil
抓取每两周一次的一对
library(pracma)
aggregate(df, by=list(ceil(df$week/2)), FUN=max)
输出
Group.1 week conc
1 1 2 76.09191
2 2 4 50.20154
3 3 5 54.93041
4 4 8 69.17820
5 5 10 74.67518
ceil(df$week/2)
# 1 1 2 2 3 3 4 4 5 5
week刚刚向另一个显示了这个,所以查询。试着使用tapply(df$conc,rep(1:(nrow(df)/2),每个=2,FUN=sum)
5周应该发生什么?是否应返回第5周的值?NA?Sagar:如果缺了一周,看起来还是会把这对情侣甩掉的。除非我把你的代码解释错了…@keta你为什么不在该列的基础上创建另一个名为bi_week
的列作为(df$week+1)%/%2
和聚合
?@MusafirSafwan聪明!我想做一些类似的事情,但不知道如何使代码工作。谢谢
library(pracma)
aggregate(df, by=list(ceil(df$week/2)), FUN=max)
Group.1 week conc
1 1 2 76.09191
2 2 4 50.20154
3 3 5 54.93041
4 4 8 69.17820
5 5 10 74.67518
ceil(df$week/2)
# 1 1 2 2 3 3 4 4 5 5
week <- c(1:5, 5, 7:10)
bi_week <- (week+1)%/%2
conc <- rnorm(mean=50, sd=20, n=10)
df <- data.frame(week,bi_week,conc)
aggregate(df, by=list(bi_week), FUN=max)