使用以下示例数据,我正在尝试基于三个条件变量(Denial1、Denial2和Denial3)的值创建一个新变量“Den”(值为“0”或“1”)。
如果任何一个条件变量为“0”,则我希望得到“0”,只有每个具有值的条件变量的值都为“1”(例如不是NA),我才希望得到“1”。
structure(list(Denial1 = NA_real_, Denial2 = 1, Denial3 = NA_real_,
Den = NA), .Names = c("Denial1", "Denial2", "Denial3", "Den"
), row.names = 1L, class = "data.frame")
我尝试了以下两个命令,并导致"Den"的值缺失NA:
DF$Den<-ifelse (DF$Denial1 < 1 | DF$Denial2 < 1 | DF$Denial3 < 1, "0", "1")
DF$Den<-ifelse(DF$Denial1 < 1,"0", ifelse (DF$Denial2 < 1,"0", ifelse(DF$Denial3 < 1,"0", "1")))
有人能演示一下如何做吗?
NA
2)小于 1。虽然不美观,但使用多个类似(DF$Denial1 < 1 & !is.na(DF$Denial1) )
的表达式,并用&
连接它们,就可以实现目的。(已修改为使用逐元素运算符&
) - jaimedash