我需要R中的一个函数,它正在执行以下操作。 我有一个带有一些数据的矩阵
mydata <- data.frame (matrix(c(1,2,3,NA,2,3,NA,NA,2), 3,3))
mydata
X1 X2 X3
1 1 NA NA
2 2 2 NA
3 3 3 2
如果列中有任何NA,我想检查此矩阵的每一列,如果列中有NA,则创建一个存储0的向量;如果列中没有NA,则创建一个向量。
因此,检查列X1:如果NA在此列中,则向向量写入0,如果不向向量写入1。然后检查下一栏,依此类推。
检查mydata后,矢量应该如下所示
(1 0 0)
与
colnames(mydata)[colSums(is.na(mydata)) > 0]
我得到了NA的列名。但是如何使用此函数创建向量?
答案 0 :(得分:0)
我们可以将逻辑colSums
上的matrix
和as.integer
as.integer(!colSums(is.na(mydata)))
#[1] 1 0 0