Calcular a média de cada 13 linhas no quadro de dados
Eu tenho um quadro de dados com 2 colunas e linha 3659df
Estou tentando reduzir o conjunto de dados calculando a média de cada 10 ou 13 linhas nesse quadro de dados, então tentei o seguinte:
# number of rows per group
n=13
# number of groups
n_grp=nrow(df)/n
round(n_grp,0)
# row indices (one vector per group)
idx_grp <- split(seq(df), rep(seq(n_grp), each = n))
# calculate the col means for all groups
res <- lapply(idx_grp, function(i) {
# subset of the data frame
tmp <- dat[i]
# calculate row means
colMeans(tmp, na.rm = TRUE)
})
# transform list into a data frame
dat2 <- as.data.frame(res)
No entanto, não posso dividir meu número de linhas por 10 ou 13 porque o comprimento dos dados não é um múltiplo de variável dividida. Portanto, não tenho certeza do que deve ser feito (quero apenas calcular a média do último grupo, mesmo com menos de 10 elementos)
Eu também tentei este, mas os resultados são os mesmos:
df1=split(df, sample(rep(1:301, 10)))