条件付きでデータフレームをフィルタリングしようとしています。ここで列の2つの変数に基づいてグループ内の値を条件付きでフィルタリングする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
を取得することです。 ので、出力は次のようになります。Position
欄に、彼は唯一のSP
としてリストされている、ので、ザック・ウィーラーが除外される理由がある
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
。 Zack Segovia & Zeke Spruillは、の列に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
はい、これは唯一の2つのカテゴリで、うまくいきました。ありがとう! – Julien