dplyr的删除功能?计算R中数据框中几列的平均值
我想计算数据框中几列的平均值。我想使用dplyr包中的“:”来选择它们。变量名是:Mcheck5_1_1,Mcheck5_2_1,…,Mcheck5_8_1,总共有8个。我知道我可以通过dplyr的删除功能?计算R中数据框中几列的平均值,r,select,dplyr,mean,R,Select,Dplyr,Mean,我想计算数据框中几列的平均值。我想使用dplyr包中的“:”来选择它们。变量名是:Mcheck5_1_1,Mcheck5_2_1,…,Mcheck5_8_1,总共有8个。我知道我可以通过 select(df, Mcheck5_1_1:Mcheck5_8_1) 在Roger Pang以4分钟33秒讲授的在线课程中 然而,R抱怨说: Error in select(df, Mcheck5_1_1:Mcheck5_8_1) : unused argument (Mcheck5_1_1:Mcheck
select(df, Mcheck5_1_1:Mcheck5_8_1)
在Roger Pang以4分钟33秒讲授的在线课程中
然而,R抱怨说:
Error in select(df, Mcheck5_1_1:Mcheck5_8_1) :
unused argument (Mcheck5_1_1:Mcheck5_8_1)
我也找不到其他人在谷歌上使用这个“:”功能。我怀疑这个功能已经不存在了
现在,我使用以下代码来解决这个问题:
idx = grep("Mcheck5_1_1", names(df))
df$avg = rowMeans(df[, idx:idx+7], na.rm = TRUE)
我不太愿意用数字索引这些列,例如df[138],因为我担心它的正数可能会有所不同
然而,我认为这个解决方案不够优雅。你能告诉我还有别的方法吗?现在,仅仅因为我在代码中犯了一些错误,还可以使用冒号:方法来索引我的变量吗?谢谢大家
在4:33时,使用contains可能会有所帮助,因为它用于在列中执行名称搜索,因此在您的情况下,它将是:selectdf,containsMcheck5_尝试dplyr::selectdf,Mcheck5_1_1:Mcheck5_8_1。这可能是一个包冲突。有关相关问题,请参阅
要计算每列的平均值:
library(magrittr)
library(purrr)
df %>%
dplyr::select(Mcheck5_1_1:Mcheck5_8_1) %>%
map(mean)
你的回答也帮了大忙。谢谢顺便说一句,由于dplyr现在从包magrittr导入了%>%,您可能需要使用它。有关更多信息,请参阅