Я хочу взять набор данных и разделить его на несколько наборов данных. Для упрощенного варианта задачи. На самом деле у меня будут тысячи строк, но я хотел бы упростить задачу для понимания. Предположим, у вас есть следующий код:
vec = c(1:10)
df = data.frame(vec)
df
vec
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
Я хотел бы разбить этот набор данных на строки по 5 наблюдений в каждой, а затем получить среднее значение для каждых 5 строк.
До сих пор я пытался разделить код следующим образом:
splitdf = split(df, rep(1:2,each = 5))
Теперь я хотел бы получить среднее значение каждой группы. Например, среднее значение первого фрагмента равно 3, а второго фрагмента — 8.
Затем я хотел бы выполнить функцию повторения и сохранить ее в отдельном столбце. Я хочу, чтобы мой фрейм данных выглядел следующим образом:
vec mean
1 1 3
2 2 3
3 3 3
4 4 3
5 5 3
6 6 8
7 7 8
8 8 8
9 9 8
10 10 8
Мне было интересно, будет ли уместна функция цикла или есть более простой способ решить эту проблему. Я открыт для предложений.