我正在运行如下代码:
DATA$a<-ifelse((DATA$b=="Yes"|DATA$c=="Yes"),"Yes","No")
期望获得同时输出Yes和No值的数据列,但是我只能得到Yes值和NA(应为No值)。绝对应该没有值,但它们似乎根本不会出现。
有什么想法吗?
谢谢!
答案 0 :(得分:0)
也许您应该使用
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>