Calculer la moyenne de toutes les 13 lignes dans le bloc de données

J'ai un bloc de données avec 2 colonnes et 3659 ligne df

Je suis en train de réduire l'ensemble de données en moyenne tous les 10 ou 13 lignes dans ce bloc de données, j'ai donc essayé le suivant :

# 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)

Cependant, je ne peux pas partager mon nombre de lignes par 10 ou 13 parce que la longueur des données n'est pas un multiple de split variable. Donc, je ne suis pas sûr de ce que doit faire alors (je veux juste peut-être pour calculer la moyenne du dernier groupe d'-même avec moins de 10 éléments)

J'ai aussi essayé celui-ci, mais le résultat est le même:

df1=split(df, sample(rep(1:301, 10)))
Quelqu'un de posé une question similaire aujourd'hui. Combiner split et cut. Voir si cela aide les stackoverflow.com/questions/30356275/r-divide-data-into-groups
le problème que je ne peux pas diviser par le nombre de groupes que je veux. car j'ai un nombre impair de colonnes et je veux avoir 10 groupes par exemple

OriginalL'auteur user3617715 | 2015-05-20