我想用一個或多個其他列(df $ b,df $ c)上的數學運算的結果來更新數據幀列(df $ d),取決於另一列列(df $ a)。R條件替換數據幀值
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 /大熊貓並且只需要一個「[DF $ A> 0]」上的賦值運算符的左側實例:
df$d[df$a > 0] <- df$b/df$c
謝謝你爲任何和所有的建議。