使用R和dplyr

时间:2016-03-22 16:45:10

标签: r dplyr summary

我正在使用NFL play-by-play data from the 2013 season,我希望通过Wide Receivers来衡量捕获成功率。基本上,我有四个感兴趣的变量:目标接收器,通过距离,目标和接收。我想获得一个按目标接收器和通过距离细分的数据集,其中目标和接收总结(只是一个简单的计数),用于两个目标接收器和通过距离组合(即接收器1短,接收器1长)。

感谢您的帮助,

CLR

1 个答案:

答案 0 :(得分:0)

首先,取表df并仅保留相关列(目标接收器,通过距离,目标和接收)。

df <- select(df, `Targeted Receiver`, `Pass Distance`, `Target`, `Reception`)

然后,删除没有接收器的行(例如正在播放的游戏)。

df <- df[!is.na(df$`Targeted Receiver`), ]

之后,使用group_by中的dplyr,以便将您的数据分组到目标接收者和通过距离级别。

grouped <- group_by(df, `Targeted Receiver`, `Pass Distance`)

最后,使用summarise函数创建Target计数和接收总和。

per_rec <- summarise(grouped, Target = n(), Reception = sum(Reception))

数据如下所示:

  Targeted Receiver Pass Distance Target Reception
              (chr)         (chr)  (int)     (dbl)
1        A.J. Green          Deep     50        21
2        A.J. Green         Short    128        77
3      A.J. Jenkins          Deep      6         2
4      A.J. Jenkins         Short     11         6
5      Aaron Dobson          Deep     23         6
6      Aaron Dobson         Short     49        31