我正在使用R生成如何处理我正在教授的统计类的缺失数据的示例。一种方法需要生成“缺失值二进制变量”,其中0表示包含缺失值的情况,1表示没有缺失值。例如
n X Y Z
1 4 300 2
2 8 400 4
3 10 500 7
4 18 NA 10
5 20 50 NA
6 NA 1000 5
我想生成一个变量M,例如
n m
1 1
2 1
3 1
4 0
5 0
6 0
考虑到R处理缺失值的能力,这看起来应该很简单。我发现的最接近的是m <-ifelse(is.na(missguns),0,1)
,但所有这一切都会生成一个新的整个数据矩阵,其中0或1表示缺失。但是,我只想要一个变量来指示行是否包含缺失值。
答案 0 :(得分:9)
complete.cases
完全符合您的要求。
complete.cases(x)
## [1] TRUE TRUE TRUE FALSE FALSE FALSE
您可以强制使用数字或整数:
as.integer(complete.cases(x))
## [1] 1 1 1 0 0 0