【发布时间】:2016-11-08 16:07:51
【问题描述】:
我想在所有列中的单个条件下对数据框的行进行子集化,避免使用subset。
我了解如何对单个列进行子集化,但我无法概括所有列(不调用所有列)。
初始数据帧:
V1 V2 V3
1 1 8 15
2 2 0 16
3 3 10 17
4 4 11 18
5 5 0 19
6 0 13 20
7 7 14 21
在本例中,我想对不带零的行进行子集化。
预期输出:
V1 V2 V3
1 1 8 15
2 3 10 17
3 4 11 18
4 7 14 21
谢谢
【问题讨论】:
-
请进一步详细说明您的问题。例如,子集条件是什么?
-
@TimBiegeleisen 另一种可能的模式是删除所有包含 0 的行。
-
一个apply函数可以帮助
mydf [ !apply(mydf, 1, function(x) any(x == 0)), ] -
试试
df[!rowSums(df == 0),] -
@StevenBeaupré 打高尔夫球?
df[!rowSums(!df),]:)