目前,我正在尝试用lm()拟合多项式模型来测量数据。
fit_poly4 <- lm(y ~ poly(x, degree = 4, raw = T), weights = w)以x为独立变量,y为因变量,测量值的w =1/方差。
我想尝试一个给定系数的多项式,而不是R确定的多项式。
y = -3,3583*x^4 + 43*x^3 - 191,14*x^2 + 328,2*x - 137,7我试着输入它
fit_poly4 <- lm(y ~ 328.2*x-191.14*I(x^2)+43*I(x^3)-3.3583*I(x^4)-137.3,
weights = w)但这只会返回一个错误:
Terms.formula中的错误(公式,数据=数据):ExtractVars中无效的模型公式
是否有一种方法来确定lm()中的系数,我们将如何做到这一点?
发布于 2019-03-31 22:19:18
我不知道你为什么要这么做,但你可以用一个抵消词:
set.seed(101)
dd <- data.frame(x=rnorm(1000),y=rnorm(1000), w = rlnorm(1000))
fit_poly4 <- lm(y ~
-1 + offset(328.2*x-191.14*I(x^2)+43*I(x^3)-3.3583*I(x^4)-137.3),
data=dd,
weights = w)-1取消了通常的截取项。
https://stackoverflow.com/questions/55445917
复制相似问题