使用mutate()dplyr计算平均值时出错

使用mutate()dplyr计算平均值时出错,r,dplyr,mutate,R,Dplyr,Mutate,我想用mutate()创建一个新变量,作为df中其他几个变量的平均值 我尝试了以下方法 df <- df %>% na.omit() %>% mutate(mot_avg = rowMeans(cbind(mot1:mot13))) 我不明白;如果使用了na.omit()或na.rm=T,怎么会有任何缺失的值呢。如果我在一个较小的示例df上尝试该代码,它可以正常工作。这也是为什么我不能在这里给出一个可复制的例子 只有在我的df上

我想用mutate()创建一个新变量,作为df中其他几个变量的平均值

我尝试了以下方法

 df <- df %>%    
       na.omit() %>%     
       mutate(mot_avg = rowMeans(cbind(mot1:mot13)))
我不明白;如果使用了na.omit()或na.rm=T,怎么会有任何缺失的值呢。如果我在一个较小的示例df上尝试该代码,它可以正常工作。这也是为什么我不能在这里给出一个可复制的例子

只有在我的df上使用baseR代码,我才能得到我想要的df

df$mot_avg <- rowMeans(df[,1:14],na.rm=T)

df$mot_avg为什么不将这两种方法结合起来

library(tidyverse)

#Fake Data
set.seed(3)
x <- bind_cols(lapply(1:10, function(i)rnorm(n = 100, mean = 20)))


##For all variables
first_solution <- x %>% mutate(x = rowMeans(x))

##For a subset of variables
solution_subset <- x %>% mutate(x = rowMeans(x %>% select(V9,V10)))
库(tidyverse)
#假数据
种子(3)
x%选择(V9,V10)))

您能提供您的数据样本吗?
 Error in mutate_impl(.data, dots) : 
  Evaluation error: missing value where TRUE/FALSE needed.
df$mot_avg <- rowMeans(df[,1:14],na.rm=T)
library(tidyverse)

#Fake Data
set.seed(3)
x <- bind_cols(lapply(1:10, function(i)rnorm(n = 100, mean = 20)))


##For all variables
first_solution <- x %>% mutate(x = rowMeans(x))

##For a subset of variables
solution_subset <- x %>% mutate(x = rowMeans(x %>% select(V9,V10)))