次のデータフレームがあるとしましょう。
df <- data.frame(a=c(1,2,3,3,1), b=(c(1,9,1,2,3)),
c=c(1,2,3,3,9), d=(c(1,2,3,9,1)))
a + b + c + d の値を合計したいのですが、これらの変数のいずれかの値が 9 になるたびに、9 ではなく 3 を合計したいと思います。
次の構文を使用して各変数を再コード化することで、これを実行できることがわかっています。
df[,1:4][df[,1:4]==9]<-3
しかし、一時テーブルまたはこのステップをスキップできるコードを使用して実行したいと考えています。その上、各変数の元の値を見逃したくありません。なぜなら、9 は、実行する必要がある他の操作に意味を持つからです。
これは私が望む結果です:
df$sum <- c(4,9,10,11,8)
どうもありがとうございました、
ヤトロシン