Вы можете добавить увеличивающееся число group
к вашим данным с помощью rep()
, а затем использовать library(data.table)
, чтобы вычислить среднее значение и медиану для ваших данных и сгруппировать их по столбцу group
.
library(data.table)
set.seed(1)
DT <- data.table(temp = rnorm(30), sdo_id = rlnorm(30), z = runif(30) )
DT$group <- rep(1:(nrow(DT)/3), each=3)
DT[, .(mean_temp = mean(temp), median_id = median(sdo_id)), by=group]
РЕДАКТИРОВАТЬ
Если вы не хотите добавлять столбец, вы можете использовать его следующим образом:
DT[, .(mean_temp = mean(temp), median_id = median(sdo_id)), by=rep(1:(nrow(DT)/3), each=3)]