检测数据帧中的缺失(NA或0)

时间:2017-07-20 14:00:20

标签: r dplyr

我想在数据框中创建一个包含其他变量信息的新变量。

我有一个大数据框。为了保持简短,我们说:

a <- c(1,0,2,3)
b <- c(3,0,1,1)
c <- c(2,0,2,2)
d <- c(4,1,1,1)

(df <- data.frame(a,b,c,d) )

  a b c d
1 1 3 2 4
2 0 0 0 1
3 2 1 2 1
4 3 1 2 1

目标:创建一个新变量,告知我一个人(行)是否在变量a + b或变量c + d中有cero报告(或缺失/ NA)。

  a b c d  x
1 1 3 2 4  1
2 0 0 0 1 NA
3 2 1 2 1  1
4 3 1 2 1  1

由于我有一个大数据框,我正在考虑使用df [1:2]和df [3:4],这样我就不需要输入每个变量名。但我不确定哪种方法最好。也许dplyr有一个不错的选择?

1 个答案:

答案 0 :(得分:1)

df$x <- ifelse(rowSums(df), 1, NA)

编辑:回答更新的问题:

df$x <- ifelse(rowSums(df[1:2])&rowSums(df[3:4]), 1, NA)

给出,

  a b c d  x
1 1 3 2 4  1
2 0 0 0 1 NA
3 2 1 2 1  1
4 3 1 2 1  1