我有一个美国人口普查数据集,其中每个观察值都包含Black,Hispanic和NotWhiteBlackOrHispanic的二进制值。我想得到一个White值(1,其中Black,Hispanic和NotWhiteBlackOrHispanic为0;否则为0)并将其附加到我现有的数据框中。
我没有成功尝试
census$white<-if(census$black==0 && census$hispanic==0 && census$notwbh==0){1}else{0})
我该怎么做?
答案 0 :(得分:4)
census$white <- with(census,
!any(Black,Hispanic ,noWhiteBlackOrHispanic)))
'any'函数应该将数字强制转换为逻辑,这应该非常有效。
答案 1 :(得分:3)
尝试:
ifelse(census$black==0 && census$hispanic==0 && census$notwbh==0,1,0)
答案 2 :(得分:2)
您可以使用ifelse
census$white<-ifelse(census$black==0 && census$hispanic==0 && census$notwbh==0,1,0)