设说我有这样的R:引用范围列在dplyr
txt A1 A2 B1 B2
1 ala 6 9 12 23
2 ata 1 3 3 11
....
的数据帧df
我想用dplyr
用于过滤基于一系列的变量的总和的行。 我想:
filter(df, sum(A2:B1)>10)
....但它不工作。
任何人都可以在dplyr
中提出解决方案吗?是的,我知道这可以通过简单的子集来完成。
设说我有这样的R:引用范围列在dplyr
txt A1 A2 B1 B2
1 ala 6 9 12 23
2 ata 1 3 3 11
....
的数据帧df
我想用dplyr
用于过滤基于一系列的变量的总和的行。 我想:
filter(df, sum(A2:B1)>10)
....但它不工作。
任何人都可以在dplyr
中提出解决方案吗?是的,我知道这可以通过简单的子集来完成。
您需要先拿到指标,然后用rowSums
,
library(dplyr)
which(names(df) == 'A2') #find first column
#[1] 3
which(names(df) == 'B1') #find last column
#[1] 4
filter(df, rowSums(df[,3:4])>10)
# txt A1 A2 B1 B2
#1 ala 6 9 12 23
'filter(df,A2 + B1> 10)'? – Sotos
我知道在这个特定的情况下,你可以简单地添加这两个,但想象我有在范围 – kwicher
耶的数十列耶,这就是我认为... – Sotos