【发布时间】:2019-12-16 15:36:54
【问题描述】:
我有一个所有列都为零的数据集。我需要删除有零的行。但我想保留其他行。另外,我不想破坏分组变量。
Participant Media B C D
A1 C11 0.5 0 0
A1 C12 0.4 0.3 0
A1 C13 0 0 0
A2 C11 0 0 0
A2 C12 1 2 0
A2 C13 2 0 0
我在dplyr 中应用了多重过滤功能。它对我的数据集没有帮助。
data <- data%>%
filter(data, B > 0 & C > 0 & D >0)
有没有什么快速的方法可以在不破坏数据框的情况下对数据进行子集化?
预期输出
Participant Media B C D
A1 C11 0.5 0 0
A1 C12 0.4 0.3 0
A2 C12 1 2 0
A2 C13 2 0 0
【问题讨论】:
-
您是否要求删除
B、C、D中至少有 1 个零值的所有行?还是所有值? -
试试
df[rowSums(df[-c(1:2)] == 0) != ncol(df[-c(1:2)]),] -
谢谢@Sotos。 akash87 - 我只想删除其中只有 0 的行。