2
在存在NAs时使用ifelse函数时,我遇到了一个问题。R Ifelse陈述由于NAs而不能正常工作
数据:
x=data.frame(rbind(c(1,1,0),c(0,NA,1)))
colnames(x)=c("a","b","c")
目标:创建一列的 “测试”,即改变为0,如果A或B是1,如果既不是或b是1,测试= C
问题:当b = NA,这是不等于1时,测试= NA,#当它应为1。
作品正确在行1但不能用于行2
x=mutate(x,
test=ifelse((a==1|b==1),0,c))
> x
a b c test
1 1 1 0 0
2 0 NA 1 NA
有关如何修复它的任何建议?
'NA'是没有价值的。因此,您可以通过说出如果a或b为NA时会发生什么情况来更新您的条件,或者在执行'ifelse'之前创建一个用固定值替换NAs的流程。 – AntoniosK