首页 > 解决方案 > 关于将变量添加到包括 NA 在内的比例项目的问题

问题描述

首先,让我说这个社区非常有帮助。至于我的问题:

我有一些数据,likert 响应为 1-4,其中 8 为我不知道,9 为NA.

我能够使用 NA 替换我的 8s 和 9s:

df %>% mutate_all(~ifelse(.x %in% c(8, 9), NA, .x))

并对每个变量都这样做。

我现在的问题是我的数据看起来不错NA,但我正在尝试将变量组转换为连续比例项。例如,ir1、ir2 和 ir3 的李克特响应 1-4 加起来的ir_scale范围为 0 - 12。问题是当我添加它们时:

irscale <- df$ir1 + df$ir2 + df$ir3

任何有总和NA回报的行。NA例如 1+3+ NA= NA,我希望它返回 4。

我不能将NAs 变成 0,因为我稍后将使用回归。想法?这是一个示例数据集:

https://drive.google.com/file/d/1HwtjJ-nChRwVuVQhAYucB_JkUagVtByj/view?usp=sharing

标签: rdplyr

解决方案


你可以用rowSums这个。na.rm=T是处理NAs的常用参数

mtcars[ 3, 3] <- NA
mtcars$newvar <- rowSums( mtcars[ , 3:5], na.rm=T)

推荐阅读