r语言 - ifelse 返回 NA 而不是假值



我正在运行一些这样的代码:

DATA$a<-ifelse((DATA$b=="Yes"|DATA$c=="Yes"),"Yes","No") 

期望得到一个同时输出"是"和"否"值的数据列,但相反,我只得到"是"值和"没有值"的 NA。绝对应该没有值,但它们似乎根本没有出现。

有什么想法吗?

谢谢!

也许你应该使用

DATA$a<-ifelse(rowSums(DATA[c("b","c")]=="Yes",na.rm = T)>0,"Yes","No")

这样

> DATA
b    c   a
1  Yes   No Yes
2   No   No  No
3  Yes  Yes Yes
4 <NA>  Yes Yes
5   NO <NA>  No
6 <NA> <NA>  No

虚拟数据

DATA <- data.frame(b=c("Yes","No","Yes",NA,"NO",NA),c=c("No","No","Yes","Yes",NA,NA))
> DATA
b    c
1  Yes   No
2   No   No
3  Yes  Yes
4 <NA>  Yes
5   NO <NA>
6 <NA> <NA>

最新更新