1

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

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)

どうもありがとうございました、

ヤトロシン

4

1 に答える 1