Я хочу вычислить среднее значение некоторых столбцов, используя dplyr :: mutate.
library(dplyr)
test <- data.frame(replicate(12, sample(1:12, 12, rep = T))) %>%
`colnames<-`(seq(1:12) %>% paste("BL", ., sep = ""))
Столбцы, которые я хочу включить для вычисления среднего значения, ТОЛЬКО от BL1 до BL9, поэтому я делаю
test_again <- test %>%
rowwise() %>%
mutate(ave = mean(c(seq(1:9) %>% paste("BL", ., sep = ""))))
Это не будет работать.Я замечаю, что если поставить столбец один за другим, он будет работать
test_againAndAgain <- test %>%
rowwise() %>%
mutate(ave = mean(c(BL1, BL2, BL3, BL4, BL5, BL6, BL7, BL8, BL9)))
Я подозревал, что это потому, что я даю строки вместо "столбцов".
Может кто-нибудь объяснить такое поведение?Что будет лучшим решением для этого?