I() 等价物(在 R 中使用),Python 等价物是什么?
I() equivalent (used in R), what is the Python equivalent?
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() 的等价物?
我找到了答案,似乎很简单:
f = 'medv~lstat + I(lstat**2)'
fit3 = smf.ols(f, data=data).fit()
print(fit3.summary())
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() 的等价物?
我找到了答案,似乎很简单:
f = 'medv~lstat + I(lstat**2)'
fit3 = smf.ols(f, data=data).fit()
print(fit3.summary())