使用mutate()dplyr计算平均值时出错
我想用mutate()创建一个新变量,作为df中其他几个变量的平均值 我尝试了以下方法使用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上
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)))