用已知截距拟合多项式

问题描述 投票:3回答:1

我正在使用lm(y~poly(x,2))将二阶多项式拟合到我的数据。但是我只是找不到指定已知拦截值的方法。如何使用lm将具有已知截距值(例如“ k”)的多项式模型拟合?

r intercept polynomials
1个回答
4
投票
 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=...

传递数据
© www.soinside.com 2019 - 2024. All rights reserved.