如何仅打印lm的系数?

时间:2019-06-09 22:36:45

标签: r summary

如果我有一行数据,y就像这样:

 1 4 5 6 3 4 

我可以使用以下代码找到拟合的平滑曲线:

y <- scan(text = '1 4 5 6 3 4 ')
x <- seq_along(y)
fit <- lm(y ~ poly(x,5))

summary(fit)   
newy <- predict(fit, data.frame(x))

plot(y, type = "b")
lines(x, newy, col = "red") 

我需要对600行进行同样的操作,并使用summary(fit)来获取系数。我的问题是我必须在其他软件中使用这些系数,而我只需要这些系数,而不需要额外的信息。有什么方法可以只打印系数?

2 个答案:

答案 0 :(得分:3)

它只是coef(fit)coef()方法应适用于R中的大多数统计模型:model$coefficients适用于lm对象,但通常不可靠。 coef(summary(model))summary(model)$coefficients给出完整系数 table 。 (coef()的默认方法stats:::coef.default()使用$coefficients从对象中提取这些值,但是其他模型对象的工作方式可能不同。)

答案 1 :(得分:0)

如果我正确理解了您的问题,那么您只希望数字不带任何描述符。在这里:

y <- scan(text = '1 4 5 6 3 4 ')
x <- seq_along(y)
fit <- lm(y ~ poly(x,5))

z <- coef(fit)
names(z) <- NULL
z

[1]  3.833333  1.553797 -2.836833  1.341641  1.133893  1.133893

请记住,第一项是y截距。