Berechnen Sie den Mittelwert aller 13 Zeilen im Datenrahmen

Ich habe einen Datenrahmen mit 2 Spalten und 3659 Zeilendf

Ich versuche, den Datensatz zu reduzieren, indem alle 10 oder 13 Zeilen in diesem Datenrahmen gemittelt werden. Daher habe ich Folgendes versucht:

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

Ich kann meine Zeilenanzahl jedoch nicht durch 10 oder 13 teilen, da die Datenlänge kein Vielfaches der geteilten Variablen ist. Ich bin mir also nicht sicher, was ich dann tun soll (ich möchte vielleicht nur den Mittelwert der letzten Gruppe berechnen - sogar mit weniger als 10 Elementen)

Ich habe es auch versucht, aber die Ergebnisse sind die gleichen:

df1=split(df, sample(rep(1:301, 10)))

Antworten auf die Frage(6)

Ihre Antwort auf die Frage