如果我有一行数据,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)
来获取系数。我的问题是我必须在其他软件中使用这些系数,而我只需要这些系数,而不需要额外的信息。有什么方法可以只打印系数?
答案 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截距。