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