如何添加其值来自其他列值的数据框列?

时间:2014-03-03 07:34:06

标签: r

我有一个美国人口普查数据集,其中每个观察值都包含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})

我该怎么做?

3 个答案:

答案 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)