我正在使用lm(y~poly(x,2))
将二阶多项式拟合到我的数据中。但我只是找不到指定已知截距值的方法。如何使用已知截距值(例如“k”)拟合多项式模型lm
?
问问题
2167 次
1 回答
10
lm(y~-1+x+I(x^2)+offset(k))
应该这样做。
-1
抑制否则自动添加的截距项x
添加一个线性项I(x^2)
添加二次项;是I()
必需的,以便 R 解释^2
为平方,而不是与自身之间进行交互x
(根据公式规则,这将等同于x
单独)offset(k)
添加已知的常数截距
我不知道是否poly(x,2)-1
可以消除拦截;你可以试试看。从您的数据中减去偏移量应该可以正常工作,但offset(k)
可能会更明确一些。您可能必须制作k
一个向量(即将其复制到数据集的长度,或者最好将其作为列包含在数据集中并使用data=...
于 2015-02-13T15:58:53.083 回答