0

これはおそらく答えやすい質問ですが、解決策を見つけることができませんでした。

次のデータフレームがあるとします。

    Name    Value
    Bob     100
    Bob     500
    Jim     50
    Rach    300
    Rach    300
    Rach    300

各人の値を追加する新しい列を作成する必要があります。最終結果は次のようになります。

    Name     Value      Sum
    Bob      100        600
    Bob      500        600
    Jim      50         50
    Rach     300        900
    Rach     300        900
    Rach     300        900

この問題についてご協力いただきありがとうございます。

4

2 に答える 2

1

plyrあなたの友達です:

library(plyr)
ddply(dat, .(Name), transform, sum_name = sum(Value))
  Name Value sum_name
1  Bob   100      600
2  Bob   500      600
3  Jim    50       50
4 Rach   300      900
5 Rach   300      900
6 Rach   300      900

データがdata.frame dat. 他の可能な解決策については、data.tableパッケージと R ベース関数aggregateを参照しbyてくださいsplit

于 2013-04-26T17:52:25.270 に答える