我在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.)
非常感谢
答案 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]