拟合具有已知截距的多项式

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=...

传递数据