我希望简化以下内容:
> model$coefficients
(Intercept) x1 x2 c
-1.51730659 0.28487690 0.10034603 0.08629699
b0_i = model$coefficients[1]
b1_x1 = model$coefficients[2]
b2_x2 = model$coefficients[3]
b3_c = model$coefficients[4]
需要永远确保使用许多系数并通过索引引用它们的复杂公式是正确的,因此我想将它们中的每一个分配给一个命名变量。
我尝试使用 lapply() 和 allocate() 使用变量名向量:
> b_vars = c("b0_i", "b1_x1", "b2_x2", "b3_c")
> lapply(seq_along(b_vars), function(i) {assign(b_vars[i], model$coefficients[i])})
[[1]]
(Intercept)
-1.517307
[[2]]
fdr_mom
0.2848769
[[3]]
fdr_dad
0.100346
[[4]]
dr34
0.08629699
所需输出:
> b0_i
-1.51730659
> b1_x1
0.28487690
> b2_x2
0.10034603
> b3_c
0.08629699
没关系:
b_vars = c("b0_i", "b1_x1", "b2_x2", "b3_c")
for (i in 1:length(b_vars)) {
assign(betavars[i], model$coefficients[i])
}