R 聚合奇偶对

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,并获得一个

我试图通过每两周查找一次最大值来简化一个大型数据集(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
,并获得一个数值向量


编辑:删除了关于
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)