我想用对一个或多个其他列(df$b,df$c)的数学运算结果更新数据框列(df$d),条件是另一列(df$a)的值。
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]
第三行产生 df$d 的期望值。有没有办法更简洁地写这个?我对不需要我重复逻辑索引的选项特别感兴趣。
例如,这种风格的表达式在 Python/Pandas 中有效,并且只需要赋值运算符左侧的一个 '[df$a > 0]' 实例:
df$d[df$a > 0] <- df$b / df$c
感谢您的任何建议。