【发布时间】:2020-08-29 06:55:22
【问题描述】:
我想在 for 循环中使用 mutate(),附加列名称如下:
y_1 y_2 y_3
这是我的代码:
table1 <- tibble(
x = rep(1:3, each = 1)
)
table1
# A tibble: 3 x 1
x
<int>
1 1
2 2
3 3
table2 <- tibble(
a1 = c(10, 20),
a2 = c(30, 60)
)
table2
# A tibble: 2 x 2
a1 a2
<dbl> <dbl>
1 10 30
2 20 40
compute_y <- function(table1, table2){
table2[1] + table2[2] * table1$x
}
for (i in 1:nrow(table2)){
output = compute_y(table1, as.numeric(table2[i,]))
label = str_c("y_", i)
table1 <- mutate(table1, label = output)
}
table1
# A tibble: 3 x 2
x label
<int> <dbl>
1 1 80
2 2 140
3 3 200
我需要做什么才能获得:
table1
# A tibble: 3 x 2
x y_1 y_2
<int> <dbl> <dbl>
1 1 40 80
2 2 70 140
3 3 100 200
【问题讨论】: