我在R中读取了我的SPSS文件,如果做出这样的假设,我想重新编码一个新变量。具体来说:
如果符合以下条件,我想将spssdata_sub$gest
变量转换为新变量:
spssdata_sub$indusert != 2 & spssdata_sub$ivf != 1 & spssdata_sub$leie != 3 & spssdata_sub$svkompl_II != 7 & spssdata_sub$svkompl_II != 2 & spssdata_sub$svkompl_II != 1
这里有谁可以帮我提供代码?
答案 0 :(得分:0)
以下代码之一是否适合您?
这是Renu解决方案的改编版本
spssdata_sub$gest <- ifelse(spssdata_sub$indusert != 2 & spssdata_sub$ivf != 1 & spssdata_sub$leie != 3 & spssdata_sub$svkompl_II != 7 & spssdata_sub$svkompl_II != 2 & spssdata_sub$svkompl_II != 1, spssdata_sub$gest, NA)
或此代码用于过滤观察结果:
library(dplyr)
spssdata_sub_new <- spssdata_sub %>%
filter(indusert != 2 & ivf != 1 & leie != 3 & svkompl_II != 7 & svkompl_II != 2 & ssvkompl_II != 1)
答案 1 :(得分:0)
如果您真的是指其中一个条件
,则以下是一种方法Mynewdata <- dplyr::filter(spssdata, indusert != 2, ivf != 1, leie != 3,
svkompl_II != 7 & svkompl_II != 2 & svkompl_II != 1)
仅保留既不是条目,也不以其他方式放置具有indusert = 2或ivf = 1等条目的条目......其中一个条件足以排除它。
附加组件:或类似的东西:
Mynewdata <- dplyr::filter(spssdata, indusert != 2, ivf != 1, leie != 3,
!(svkompl_II %in% c(7,2,1))