Bil*_*nor 5 syntax r filter dplyr tidyverse
如何使用dplyr::filter()
带有列号而不是列名称的函数?
例如,我想选择外部选择的列并返回全为零的行。例如,对于这样的数据框
> test
# A tibble: 10 x 4
C001 C007 C008 C020
<dbl> <dbl> <dbl> <dbl>
1 -1 -1 0 0
2 0 0 0 0
3 1 1 0 0
4 -1 -1 0 0
5 0 0 0 -1
6 0 0 0 1
7 0 1 1 0
8 0 0 -1 -1
9 1 1 0 0
10 0 0 0 0
Run Code Online (Sandbox Code Playgroud)
和一个向量我如何选择whereS = c(1,3,4)
中的所有行?我可以使用 an 来完成此操作,但我想将其用作管道的一部分。test
all(x==0)
test[apply(test[,S] 1, function(x){all(x==0)},]
%>%
我无法弄清楚filter()
使用列号而不是名称的语法。真实数据具有更多的列(>100)和行,并且列号由外部算法提供。
filter_at
与使用all_vars
library(dplyr)
df %>% filter_at(c(1,3,4), all_vars(.==0))
C001 C007 C008 C020
1 0 0 0 0
2 0 0 0 0
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2751 次 |
最近记录: |