次の形式のデータフレームがあります。条件文を含む集計ローリング平均R
match team1 team2 winningTeam
1 A D A
2 B E E
3 C F C
4 D C C
5 E B B
6 F A A
7 A D D
8 D A A
私がしたいのは、最後のxマッチでチーム1とチーム2の両方のフォームを計算する変数を作成することです。たとえば、team1_form_last3_matchesという変数を作成すると、一致8は0.33(最後の3つの一致のうち1つを獲得した)、チーム2_form_last3_matchesという変数があり、一致8の0.66になります最後の3試合のうち2試合)。理想的には私はチームX_form_last Y変数と自動的に作成されるこれらの変数を計算するときに考慮すべき以前のマッチの数を指定できるようにしたいと思います。私は、dplyr、動物園の平均的な機能とネストされたfor/ifステートメントのロードを使用して、たくさんのアプローチを試みました。しかし、私はそれをかなりクラックしていないし、確かにエレガントな方法ではありません。私はこの一般的な問題に対する単純な解決策が見当たりません。どんな助けでも大歓迎です!
乾杯、
ジャック
こんにちは。答えに戻ってくれてありがとう。私は今日、この構造の何かがうまくいくと考えていました。私は上記を試して、それはほとんど動作しますが、私のシナリオでは、私は、現在のゲームを除く最後の3試合の結果を得たかった - 私は上記が含まれると思いますか?また、なぜ上記のようにチームが発生した最初の2回のNAsを作成しないのでしょうか(最後の3つのフォームで計算するのに十分なデータがないためです)。再度、感謝します! –
こんにちはジャック。上記のものは、現在のゲーム、すなわち 'dat [1:(i-1)、]'の項を除外すべきです。 'tail 'は指定された要素数までdata.frame(またはベクトルなど)の最後の部分を与えます。今度はあなたがそれを言及し、少数の場合は3つ前のゲームが3ではないことを除いてください! - 上記の改正。 –