我想排除包含所有 0 的数据框中的行。
我可以使用 %in% 运算符检查一行是否包含 0。但需要知道如何迭代整个矩阵。然后打印不包括其他行的新矩阵。
我怎样才能做到这一点?
使用 Senor O 的样本数据 ( DF <- data.frame(A=rep(c(1,0),5), B=0)
),尝试:
DF[!rowSums(DF == 0) == ncol(DF), ]
这应该有效:
AllZeros = apply(DF, 1, function(X) all(X==0))
DF2 = DF[!AllZeros,]
试试看:
DF <- data.frame(A=rep(c(1,0),5), B=0)
作为样本数据。
有很多方法可以做到这一点,到目前为止已经回答的人会告诉你。
我将再提供一个创建的示例数据集的示例。
DF <- data.frame(A=rep(c(1,0),5), B=0)
该subset
命令运行良好。
newDF <- subset(DF, !(A == 0 & B == 0) )
根据矩阵的大小和变量的命名约定,这可能很乏味,在这种情况下,我会直接使用 apply 函数。