2016-03-22 26 views
0

私はNFL play-by-play data from the 2013 seasonを使用していますが、私はWide Receiversでキャッチ成功率を測定したいと考えています。本質的に、私は興味のある4つの変数を持っています:ターゲットレシーバ、パス距離、ターゲットとレセプション。ターゲットレシーバとパス距離の2つのターゲットレシーバとパス距離の組み合わせ(レシーバ1ショート、レシーバ1ロング)のそれぞれについて、ターゲットとレセプションを要約した(単純なカウント)データセットを得たいと思います。Rとdplyrを使用して2つの変数でデータを集計する

は、あなたの助けのために

CLR

+0

あなたが何をしようとしたのですか?なぜそれは機能しませんでしたか? – Heroka

+1

ようこそStackOverflowへ! [良い質問をする方法](http://stackoverflow.com/help/how-to-ask)と[再現可能な例を与える方法](http://stackoverflow.com/questions/)の情報をお読みください。 5963269/how-to-make-a-great-r-reproducible-example/5963610を参照)。これは他の人があなたを助けることをはるかに容易にします。 – Jaap

答えて

0

まずありがとう、テーブルdfを取ると(レシーバー、パスの距離、ターゲット、およびレセプションをターゲット)関連する列のみを保持します。

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

次に、レシーバがない行(実行中のプレイなど)を削除します。その後

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

あなたのデータがターゲット受信機との距離峠レベルでグループ化されているように、dplyrからgroup_byを使用しています。

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

最後に、ターゲットの数と受信の合計を作成するために、summarise関数を使用します。

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 
+0

このコードが質問にどのように答えているかを詳しく説明してください(この回答は低品質投稿のレビューキューにあります)。 – JAL

+0

ありがとうございました! – CLR

関連する問題