1

私は、迅速な答えであると確信しているものを探しています。次のようなデータセットを使用しています。

    Week      Game.ID           VTm VPts HTm HPts Differential HomeWin 
    1  NFL_20050908_OAK@NE      OAK   20 NE  30           10   TRUE 
    1 NFL_20050911_ARI@NYG      ARI   19 NYG 42           23   TRUE 
    1 NFL_20050911_CHI@WAS      CHI    7 WAS 9            2    TRUE 
    1 NFL_20050911_CIN@CLE      CIN   27 CLE 13          -14   FALSE 
    1  NFL_20050911_DAL@SD      DAL   28 SD  24           -4   FALSE 
    1 NFL_20050911_DEN@MIA      DEN   10 MIA 34           24   TRUE 

NFL データ。各 HTm をその差分とペアにして、これらの値を別のテーブルに格納する方法を考え出します。簡単に実行できることはわかっていますが、私が考えているすべての方法では、[i,5]=="NE"、[i,5]=="NYG" を検索する for ループを介して各チームを個別に実行する必要があります。32チームすべてに対してこれを体系的に行う方法があるかどうか疑問に思っています. 次に、同じ方法を使用して、同じチーム コード (「NYG」または「NE」) の VTM を VPT および VDifferential とペアにします。

助けてくれてありがとう。

4

2 に答える 2

2

私があなたの質問を正しく理解したかどうかはわかりません(データベースでselectのような関数が必要ですか?)が:

cbind(matr[,x], matr[,y])

列xとyを選択し、新しいマトリックスを作成します

于 2012-05-02T12:15:44.253 に答える
1

グループ化変数に基づいてデータ フレームで操作を実行したいようです。そのために、多くの機能がありますが、その中にはtapply(). たとえば、データが という名前の data.frame オブジェクトにある場合、各ホーム チームのnflDF最大値を次のように取得できます。DifferentialHTm

tapply(nflDF$Differential, nflDF$HTm, FUN = max)

どちらが返されますか(サンプルデータを使用)

CLE MIA  NE NYG  SD WAS 
-14  24  10  23  -4   2

または、次を使用できますby

by(nflDF, nflDF$HTm, FUN = function(x) max(x$Differential))

HTm: CLE
[1] -14
------------------------------------------------------------ 
HTm: MIA
[1] 24
------------------------------------------------------------ 
HTm: NE
[1] 10
------------------------------------------------------------ 
HTm: NYG
[1] 23
------------------------------------------------------------ 
HTm: SD
[1] -4
------------------------------------------------------------ 
HTm: WAS
[1] 2

より複雑な操作を実行するFUNには、適切な関数の引数に指定された値を変更します。

于 2012-05-02T13:27:56.513 に答える