Суммирующий набор данных - PullRequest
0 голосов
/ 22 апреля 2020

Связано с тем же набором данных из предыдущего поста { ссылка }

Теперь я хочу попробовать сравнить Wins (число) с разницей целей (как Wins, так и Loses), используя оригинал df.

 # A tibble: 6 x 19
      match_no Date  Tm    Opp   Outcome Time      G    PP    SH     S   PIM    GA  PPGA  SHGA
         <dbl> <chr> <chr> <chr> <chr>   <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
    1        1 6/4/… NYI   WSH   W       REG       3     0     0    24     4     0     0     0
    2        2 6/4/… WSH   NYI   L       REG       0     0     0    29     2     3     0     0
    3        3 6/4/… STL   VAN   W       SO        3     1     0    36     6     2     2     0
    4        4 6/4/… VAN   STL   L       SO        2     2     0    25     6     3     1     0
    5        5 6/4/… COL   SJS   L       REG       2     0     0    30     4     5     0     0
    6        6 6/4/… SJS   COL   W       REG       5     0     0    30     4     2     0     0
    # … with 5 more variables: PPO <dbl>, PPOA <dbl>, SA <dbl>, OppPIM <dbl>, DIFF <dbl>

Итак, теперь я хочу извлечь: 31 команда (Tm), количество побед (результат) и разница в голах (сумма DIFF) от выигрышей и проигрышей?

Это даст мне разницу в голах только от побед

df %>%
group_by(Tm, Outcome) %>%
summarize(Wins=n(), Goal.Diff=sum(Diff)) %>%
dplyr::filter(Outcome=='W')

И я смогу пройти долгий путь

wins <-df %>%
+ group_by(Tm, Outcome) %>%
+ summarise(Wins=n()) %>%
+ dplyr::filter(Outcome=='W')
> wins_gd <-merge(wins, team_goals, by = "Tm")

Что даст мне то, что я хочу

    Tm Outcome Wins GoalsFor GoalsAgainst Difference
1  ANA       W   35      199          251        -52
2  ARI       W   39      213          223        -10
3  BOS       W   49      259          215         44
4  BUF       W   33      226          271        -45
5  CAR       W   46      245          223         22
6  CBJ       W   47      258          232         26
7  CGY       W   50      289          227         62
8  CHI       W   36      270          292        -22
9  COL       W   38      260          246         14
10 DAL       W   43      210          202          8
11 DET       W   32      227          277        -50
12 EDM       W   35      232          274        -42
13 FLA       W   36      267          280        -13
14 LAK       W   31      202          263        -61
15 MIN       W   37      211          237        -26
16 MTL       W   44      249          236         13
17 NJD       W   31      222          275        -53
18 NSH       W   47      240          214         26
19 NYI       W   48      228          196         32
20 NYR       W   32      227          272        -45
21 OTT       W   29      242          302        -60
22 PHI       W   37      244          281        -37
23 PIT       W   44      273          241         32
24 SJS       W   46      289          261         28
25 STL       W   45      247          223         24
26 TBL       W   62      325          222        103
27 TOR       W   46      286          251         35
28 VAN       W   35      225          254        -29
29 VEG       W   43      249          230         19
30 WPG       W   47      272          244         28
31 WSH       W   48      278          249         29

но есть ли более быстрый / более эффективный способ?

...