設說我有這樣的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