Мне не удалось найти дубликат моего вопроса, поэтому я надеюсь, что вы можете помочь.
Используя простой пример, я хочу вычислить среднее / среднее значение по столбцу на основе указанного размера окна (вызывая его n
).
data <- data.frame(x = rep(1:10,1), y = rep(11:20, 1))
Я хочу добавить столбец z
, который вычисляет среднее значение по 4 строкам за раз.
Таким образом, результат будет:
structure(list(x = 1:10, y = 11:20, z = c("NA", "NA", "NA", "12.5",
"13.5", "14.5", "15.5", "16.5", "17.5", "18.5")), class = "data.frame", .Names = c("x",
"y", "z"), row.names = c(NA, -10L))
Я вычислил средние строки по столбцу с интервалом в n строк следующим образом:
#For n = 4, row 4 is calculated as (11+12+13+14)/n
#For n =4, row 5 is calculated as (12+13+14+15)/n
#And so on ...
Я просматривал следующие сообщения, такие как:
- как рассчитать среднее значение по столбцу в R
- Рассчитать среднее по группе
- Как рассчитать среднее значение переменной по часам в R
- Рассчитать среднее значение для каждых 13 строк во фрейме данных
- Рассчитать среднее по критериям в R
Я попробовал этот код ниже, но я не могу получить решения для записи.
data<-data %>% mutate(z=rollapplyr(y,10,FUN=mean,by=4))
Благодарим Вас за помощь.Спасибо