У меня есть фрейм данных, который выглядит следующим образом:
df <-
data.frame(
a_1995 = 1:4,
b_1995 = 11:14,
a_1996 = 21:24,
a_1997 = 1:4,
b_1997 = 51:54,
a_1998 = 31:34,
a_1999 = 21:24)
Поэтому в течение нескольких лет у меня есть несколько мер. Я хочу создать новый набор столбцов, которые представляют собой средние значения для 1 или 2 измерений за этот год. Я мог бы сделать это вручную следующим образом, чтобы получить желаемый результат:
out <-
df %>%
mutate(
avg_1995 = rowMeans(select(., contains("1995"))),
avg_1996 = rowMeans(select(., contains("1996"))),
avg_1997 = rowMeans(select(., contains("1997"))),
avg_1998 = rowMeans(select(., contains("1998"))),
avg_1999 = rowMeans(select(., contains("1999"))))
Есть ли способ автоматизировать это с помощью функций purrr
или dplyr
? (У меня есть сотни таких столбцов.)