14

こんにちは、ご支援いただきありがとうございます。

(追加の洞察のためにコメントセクションに注意してください。つまり、以下の例のコスト列がこの質問に追加されました。サイモンは素晴らしい答えを提供しますが、コスト列自体は彼からのデータ応答に表されていませんが、彼が提供する機能はコスト列で動作します)

私はデータセットを持っています。それを「データ」と呼びましょう。これは次のようになります

NAME     DATE     COLOR   PAID    COST
Jim      1/1/2013 GREEN   150     100
Jim      1/2/2013 GREEN   50      25
Joe      1/1/2013 GREEN   200     150
Joe      1/2/2013 GREEN   25      10

私がやりたいのは、同じ NAME 値を持つレコードの PAID (および COST) 要素を合計し、(この例のように) 行数を 2 に減らして、新しいデータ フレームが次のようになるようにすることです。

NAME     DATE     COLOR   PAID    COST
Jim      1/2/2013 GREEN   200     125
Joe      1/2/2013 GREEN   225     160

日付に関する限り、合計プロセスでどれが生き残るかはあまり気にしません。

rowSums(data) まで取得しましたが、その使用方法が正確にはわかりません。どんな助けでも大歓迎です。

4

1 に答える 1

21

aggregateあなたが探している機能です:

aggregate( cbind( PAID , COST ) ~ NAME + COLOR , data = data , FUN = sum )
# NAME PAID
# 1  Jim  200
# 2  Joe  225
于 2013-04-10T18:58:11.733 に答える