从R中的回归中提取系数

时间:2015-04-21 13:11:58

标签: r

我在R中进行了一个基本的线性回归,给出了下面的系数:

model$coefficients
(Intercept) log(TraLea$Length..mm.cat.) 
  -7.487426                    2.967886 

我制作了一个包含这些值coeff <- as.matrix(model$coefficients)的矩阵,但我想提取这些值只是为了给我:

a = exp(Intercept)
b = slope/log(TraLea$Length..mm.cat.) 

非常感谢

2 个答案:

答案 0 :(得分:2)

broom非常适合处理模型结果。 mtcars数据集的示例:

library(broom)
data(mtcars)
test <- lm(mpg ~ wt, mtcars)
results <- tidy(test)

results

         term  estimate std.error statistic      p.value
1 (Intercept) 37.285126  1.877627 19.857575 8.241799e-19
2          wt -5.344472  0.559101 -9.559044 1.293959e-10

从那里,您可以将所需的值提取到新变量中:

a <- results$estimate[1]
b <- results$estimate[2]

答案 1 :(得分:1)

您可以使用名称()

data(mtcars)
fit <- lm(mpg ~ wt, mtcars)

names(summary(fit))

names(summary(fit))
 [1] "call"          "terms"         "residuals"     "coefficients"  "aliased"       "sigma"         "df"            "r.squared"    
 [9] "adj.r.squared" "fstatistic"    "cov.unscaled" 

然后

截取:

summary(fit)$coefficients[1,1]

斜率:

summary(fit)$coefficients[2,1]