mytable
私は、A と B の 2 つの測定値の結果を含むデータ フレームを、あるグループの人物に対して取得しました。
person measure outcome
1 A 3.6
2 A 2.3
3 A 4.2
1 B 3.9
2 B 3.2
3 B 2.7
A と B のスコアの差を各人について計算したいと思います。つまり、取得したいのは次のとおりです。
person outcome_diff
1 -0.3
2 -0.9
3 1.5
私は答えを探しましたが、要因のレベル内ではなく、要因のレベル内の変換に関するいくつかしか見つかりませんでした。
私は最終的に次のようにしてそれを解決することができました:
mytable$outcome[mytable$measure=="B"] <- -1*mytable$outcome[mytable$measure=="B"]
outtable <- aggregate(outcome ~ person, data=mytable, FUN=sum)
それは機能しますが、元のテーブルを台無しにせずにそれを行うにはどうすればよいでしょうか。さらに、このソリューションは、差の計算に非常に特化しています。同じことを達成するためのより一般的な方法は何ですか?