R:如何制作一个 for 循环,在新变量中的几列(变量)上执行公式

R: How to make a for loop that performs a formula over a few columns (variables) in a new variable

是否可以在数据框中创建一个 for 循环,为存储在新 variable/column 中的每一行生成一个结果值(即 3 列(变量)X、Y 和 Z。根据这些变量中同一行的值,为每一行生成值 A)。

例如我想做 0.5X * 1.2Y + 0.75Z 并将值放在新列中,然后对所有行循环相同的公式

提前致谢!

这将是 R 中的矢量化选项 - 不需要循环

df$new <- with(df, (0.5 * X) * (1.2 * Y) + (0.75 *Z))

一个dplyr选项:

library(dplyr)
df %>%
  mutate(new = 0.5*X*1.2*Y+0.75*Z)

输出:

  X Y Z  new
1 1 3 5 5.55
2 4 2 2 6.30
3 2 5 1 6.75

数据

df <- data.frame(X = c(1,4,2),
                 Y = c(3,2,5),
                 Z = c(5,2,1))