创建一个新列作为多个其他列的平均值,同时排除具有多个缺失值的情况

问题描述 投票:0回答:1

我正在尝试使用 mutate 函数创建一个变量,该函数是多个其他变量的平均得分,同时排除具有多个缺失值的观察结果。我使用的代码只会从计算中提取出缺失值并继续计算平均值。

h18lb_r <- h18lb_r %>% mutate(social_network_contact_mean = rowMeans(h18lb_r[c(QLB008A, QLB008B, QLB008C, QLB008D, QLB012A, QLB012B, QLB012C,QLB012D, QLB016A, QLB016B, QLB016C, QLB016D), na.rm=TRUE]))


Error in `mutate()`:
ℹ In argument: `social_network_contact_mean = rowMeans(...)`.
Caused by error in `[.data.frame`:
! unused argument (na.rm = TRUE)

我想要一个新列,其中包含组合变量的平均得分,同时排除具有多个缺失值的观测值。

r variables mean missing-data na.rm
1个回答
0
投票

我认为您可能对 rowMeans 函数进行了子集化错误。有多种方法可以进行子集化,但这一种对我有用!

data <- data.frame(x=c(4,3,4,4,99),
                  y=c(4,NA,3,2,4),
                  z = c(88,NA,4,4,5),
                  w = c(4,5,2,3,4))

h18lb_r <- data %>% mutate(avg_mean = rowMeans(subset(data, select = c(`x`,`y`,`z`,`w`)), na.rm = T))
© www.soinside.com 2019 - 2024. All rights reserved.