I() 等价物(在 R 中使用),Python 等价物是什么?

时间:2021-03-23 04:18:44

标签: python r olsmultiplelinearregression

R 中的 I() 函数用于在线性回归中创建新的预测器,例如 X^2:

lm.fit2=lm(medv∼lstat +I(lstat ^2))

此处给出了很好的解释 (What does the capital letter "I" in R linear regression formula mean?)。

我正在尝试使用相同的公式在 Python 中进行线性回归,但似乎找不到等效的公式。此代码适用于单个变量

fit3 = smf.ols('medv~lstat', data=data).fit()
print(fit3.summary())

但是如果我尝试使用下面的代码片段,它显然无法正常工作。

fit3 = smf.ols('medv~lstat + lstat**2', data=data).fit()
print(fit3.summary())

尝试 ^ 运算符也没有意义,因为 Python 将此符号解释为按位异或。有谁知道 Python 中是否有与 I() 相同的函数的等价物?

1 个答案:

答案 0 :(得分:1)

我找到了答案,好像很简单:

f = 'medv~lstat + I(lstat**2)'
fit3 = smf.ols(f, data=data).fit()
print(fit3.summary())
相关问题