小编ana*_*igh的帖子

使用 dplyr::mutate 计算某些列的平均值

我想使用 dplyr::mutate 计算某些列的平均值。

library(dplyr)
test <- data.frame(replicate(12, sample(1:12, 12, rep = T))) %>% 
`colnames<-`(seq(1:12) %>% paste("BL", ., sep = ""))
Run Code Online (Sandbox Code Playgroud)

我想包括来计算平均值的列只有 BL1 到 BL9,所以我这样做

test_again <- test %>% 
rowwise() %>%
mutate(ave = mean(c(seq(1:9) %>% paste("BL", ., sep = ""))))
Run Code Online (Sandbox Code Playgroud)

这行不通。我注意到如果我将列一一放置,它会起作用

test_againAndAgain <- test %>%
rowwise() %>%
mutate(ave = mean(c(BL1, BL2, BL3, BL4, BL5, BL6, BL7, BL8, BL9)))
Run Code Online (Sandbox Code Playgroud)

我怀疑这是因为我给出了字符串而不是“列”。

有人可以解释这种行为吗?什么是最好的解决方案?

r mean dplyr

2
推荐指数
1
解决办法
5769
查看次数

标签 统计

dplyr ×1

mean ×1

r ×1