0

我想删除值全为零的行。这是我的数据集的样子:

ChildBks YouthBks CookBks DoItYBks RefBks ArtBks
    1       0        1       0       0      0
    0       0        0       0       0      0
    1       1        0       0       0      1
    0       0        1       1       0      0 

我想要这样

ChildBks YouthBks CookBks DoItYBks RefBks ArtBks
    1       0        1       0       0      0
    1       1        0       0       0      1
    0       0        1       1       0      0 

我们如何删除第二行,因为该行中的所有值都等于零。

谢谢。

4

1 回答 1

0

如果你的 data.frame 是df那么你可以使用

df[!apply(df, 1, function(x) all(x == 0)), ]

或者等效地你可以使用

df[apply(df, 1, function(x) any(x != 0)), ]

请注意,Sotos 在评论中建议的解决方案仅在您的列中没有负值时才有效。如果是这种情况,我认为他的解决方案更快。

于 2019-05-08T06:26:22.077 回答