【发布时间】:2020-06-10 21:00:04
【问题描述】:
我有一个非常大的数据集,我想通过删除我选择的列满足这些列选择中的所有条目都等于 0 的条件的行来清理。这是我目前拥有的:
df1 <- filter(df,((n)==0 & (n+1)==0 & (n+2)==0 & (n+3)==0 & ......(n+100)==0)
如何执行此操作,以便删除每第 n 列满足此条件的所有行条目?
另外,如果我想迭代这个条件,我需要说明列的名称吗?
这是一个示例数据集:
A tibble: 10 x 10
A B C D E F G H I J
1 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 0 0 0 1 1
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 0 1 1
1 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
我想删除 F、G 和 H 列等于 0 的所有行,我的结果将是:
A tibble: 10 x 2
A B C D E F G H I J
1 1 1 1 1 1 1 0 1 1
0 0 0 0 0 0 0 1 0 0
【问题讨论】:
-
您的问题不可重现。请更新一个小例子(就像我的帖子一样)以便我可以测试它。
-
这不是
n <- 5; df %>% filter_at(n:(n+100), any_vars(. != 0))
标签: r dataframe data-wrangling