有没有一种简单的方法可以将模型系数值分离到R中的不同变量中?

问题描述 投票:0回答:1

我希望简化以下内容:

> 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
r loops variable-assignment lapply simplify
1个回答
0
投票

没关系:

b_vars = c("b0_i", "b1_x1", "b2_x2", "b3_c")
for (i in 1:length(b_vars)) {
    assign(betavars[i], model$coefficients[i])
  }

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.