拟合具有已知截距的多项式
Fitting a polynomial with a known intercept
我正在使用 lm(y~poly(x,2))
将二阶多项式拟合到我的数据中。但我就是找不到指定已知截距值的方法。如何使用 lm
?
拟合具有已知截距值(比如 'k')的多项式模型
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=...
传递数据
我正在使用 lm(y~poly(x,2))
将二阶多项式拟合到我的数据中。但我就是找不到指定已知截距值的方法。如何使用 lm
?
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=...