如何给每年一个独特球员的号码

时间:2016-11-13 19:27:20

标签: r dplyr tidyr

是否可以选择每年为R中的独特玩家提供一个号码? 例如:

        playerID yearID stint teamID   lgID   POS     G    PO     A     E    DP score
       <chr>  <chr> <chr> <fctr> <fctr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1  aardsda01   2004     1    SFN     NL     P    11     0     0     0     0   0.0
2  aardsda01   2006     1    CHN     NL     P    45     1     5     0     1   7.5
3  aardsda01   2007     1    CHA     AL     P    25     2     4     1     0   3.5
4  aardsda01   2008     1    BOS     AL     P    47     3     6     0     0   9.0
5  aardsda01   2009     1    SEA     AL     P    73     2     5     0     1   7.5
6  aardsda01   2010     1    SEA     AL     P    53     2     3     1     0   2.0
7  aardsda01   2012     1    NYA     AL     P     1     0     0     0     0   0.0
8  aardsda01   2013     1    NYN     NL     P    43     1     5     0     0   7.5
9  aardsda01   2015     1    ATL     NL     P    33     0     1     1     0  -1.0
10 aaronha01   1954     1    ML1     NL    LF   105   205     4     6     0  -9.0



        playerID yearID stint teamID   lgID   POS     G    PO     A     E    DP score  value
       <chr>  <chr> <chr> <fctr> <fctr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>      <chr>
1  aardsda01   2004     1    SFN     NL     P    11     0     0     0     0   0.0     1
2  aardsda01   2006     1    CHN     NL     P    45     1     5     0     1   7.5     2
3  aardsda01   2007     1    CHA     AL     P    25     2     4     1     0   3.5     3
4  aardsda01   2008     1    BOS     AL     P    47     3     6     0     0   9.0     4
5  aardsda01   2009     1    SEA     AL     P    73     2     5     0     1   7.5     5
6  aardsda01   2010     1    SEA     AL     P    53     2     3     1     0   2.0     6
7  aardsda01   2012     1    NYA     AL     P     1     0     0     0     0   0.0     7
8  aardsda01   2013     1    NYN     NL     P    43     1     5     0     0   7.5     8
9  aardsda01   2015     1    ATL     NL     P    33     0     1     1     0  -1.0     9
10 aaronha01   1954     1    ML1     NL    LF   105   205     4     6     0  -9.0     1

value列就是我想要的。 R中有一个选项可以做到吗???

谢谢,

NIEK

1 个答案:

答案 0 :(得分:1)

使用dplyr您可以:

df %>% group_by(playerID) %>% mutate(value=1:n()) %>% ungroup

这个小烟斗:

  1. 根据data.frame
  2. 对您的df(假设它的名称为playerID)进行分组
  3. 然后创建一个额外的列(此处名为value,但您可以更改此列)填充整数(非常需要,因为它们是每个组中的行)
  4. 完成此操作后,
  5. 将您的data.frame取消组合。
  6. 这就是你要找的东西吗?