で、グループ内のグループ化:は、私は野球のデータセットに取り組んでいるR、plyr/dplyr
data(baseball, package="plyr")
library(dplyr)
baseball[,1:4] %>% head
id year stint team
4 ansonca01 1871 1 RC1
44 forceda01 1871 1 WS3
68 mathebo01 1871 1 FW1
99 startjo01 1871 1 NY2
102 suttoez01 1871 1 CL1
106 whitede01 1871 1 CL1
まず私は、グループに各チームが表示された最初の年を見つけるためにチームによって設定されたデータが欲しいですこれまで各チームのために果たしている個別のプレーヤーの数:
baseball[,1:4] %>% group_by(team) %>%
summarise("first_year"=min(year), "num_distinct_players"=n_distinct(id))
# A tibble: 132 × 3
team first_year num_distinct_players
<chr> <int> <int>
1 ALT 1884 1
2 ANA 1997 29
3 ARI 1998 43
4 ATL 1966 133
5 BAL 1954 158
は今、私はすべてのプレイヤー(ID)が問題のチームのために果たしている年間の最大数を示す列を追加します。これを行うには、私は何とか既存のグループ(チーム)内のプレーヤーによってグループ化し、最大行数を選択する必要があります。これはどうすればいいですか?
あなたは 'plyr'をロードしますが、まったくそれを使用していないそのチームで最も長い時間のために果たした選手の名前を与える最大の行で
id
のnames
を取得します。本当に 'plyr'機能が必要な場合を除き、' dplyr'を使うことをお勧めします。 – Gregor@Gregor私は 'baseball'データセットが' plyr'からだと思います – akrun