我試圖有條件地過濾數據幀。根據R中列中的兩個變量有條件地過濾組中的值
這裏是我的數據幀的一個簡單的例子:
library(dplyr)
head(FG_Pitchers_2002_2016)
Players Year Team Start-IP Relief-IP Position
Zack Segovia 2009 Nationals 0.0 10.1 RP
Zack Segovia 2007 Phillies 5.0 0.0 SP
Zack Wheeler 2014 Mets 185.1 0.0 SP
Zack Wheeler 2013 Mets 100.0 0.0 SP
Zeke Spruill 2014 Diamondbacks 5.1 17.1 RP
Zeke Spruill 2013 Diamondbacks 7.0 4.1 SP
我想要做的就是誰發揮雙方SP
和RP
的Players
。 因此,輸出應該是這樣的:
Players Year Team Start-IP Relief-IP Position
Zack Segovia 2009 Nationals 0.0 10.1 RP
Zack Segovia 2007 Phillies 5.0 0.0 SP
Zeke Spruill 2014 Diamondbacks 5.1 17.1 RP
Zeke Spruill 2013 Diamondbacks 7.0 4.1 SP
原因扎克惠勒被過濾掉,因爲,在Position
列,他只是列爲SP
。 Zack Segovia & Zeke Spruill都留下,因爲他們在Position
列中都有RP
和SP
。
我已經嘗試了許多不同的方式來做到這一點。主要是我一直試圖按名稱進行分組,然後過濾,但那一直沒有奏效。我試驗過的一些代碼的一個例子:
FG_Pitchers_2002_2016_1 <- FG_Pitchers_2002_2016 %>%
group_by(Players) %>%
filter(Position == "RP" | Position == "SP") %>%
as.data.frame()
有人會知道如何產生這個輸出嗎?
可以'Position'比這兩類多嗎?如果不是,那麼'filter(n_distinct(Position)== 2)'? – aosmith
是的,這些是唯一的兩個類別,它的工作,謝謝! – Julien