我有一个缺少值的数据框(df):
DF:
head1 head2 head3
----- ----- -----
34 32 6
NA NA 45
45 NA 11
54 15 98
45 56 NA
3 1 78
NA 5 NA
我想返回这样一个列(head4)
head1 head2 head3 head4
----- ----- ----- -----
34 32 6 1
NA NA 45 0
45 NA 11 0
54 15 98 1
45 56 NA 0
3 1 78 1
NA 5 NA 0
即,如果一行至少有一个缺失值(NA),则相关行将返回0,否则1.如何使用R?我会很高兴得到任何帮助。非常感谢。
答案 0 :(得分:2)
使用逻辑矩阵(is.na(df1)
),获取rowSums
,否定(!
),使一行中的0 NA值变为TRUE,其他所有值变为FALSE。然后,用as.integer
包装它,将TRUE转换为1,将FALSE转换为0。
df1$head4 <- as.integer(!rowSums(is.na(df1)))