別の列 (df$a) の値を条件として、1 つ以上の他の列 (df$b、df$c) に対する数学演算の結果でデータフレーム列 (df$d) を更新したいと考えています。
set.seed(55)
df <- data.frame(a = rnorm(10), b = rnorm(10), c = rnorm(10), d = 0)
df$d[df$a > 0] <- df$b[df$a > 0] / df$c[df$a > 0]
3 行目は、df$d の期待値を生成します。これをもっと簡潔に書く方法はありますか?論理インデックスを繰り返す必要がないオプションに特に関心があります。
たとえば、このスタイルの式は Python/Pandas で機能し、代入演算子の左側に '[df$a > 0]' のインスタンスを 1 つだけ必要とします。
df$d[df$a > 0] <- df$b / df$c
ありとあらゆるアドバイスをありがとう。