python - statsmodels 线性回归 - Patsy 公式包含模型中的所有预测变量

标签 python r statsmodels

假设我有一个数据框(我们称之为DF),其中y是因变量,x1, x2, x3是我的独立变量变量。在 R 中,我可以使用以下代码拟合线性模型,并且 . 将包含模型中的所有自变量:

# R code for fitting linear model
result = lm(y ~ ., data=DF)

如果不明确地将所有自变量添加到公式中,我无法弄清楚如何使用 patsy 公式对 statsmodels 执行此操作。 patsy 有相当于 R 的 . 的东西吗?我没有运气在 Patsy 文档中找到它。

最佳答案

我也没有在 patsy 文档中找到等效的 . 。但它缺乏简洁性,可以通过在 Python 中提供强大的字符串操作来弥补。因此,您可以使用

获得涉及 DF 中所有变量列的公式
all_columns = "+".join(DF.columns - ["y"])

在您的情况下,这给出了x1+x2+x3。最后,您可以使用 y 创建字符串公式并将其传递给任何拟合过程

my_formula = "y~" + all_columns
result = lm(formula=my_formula, data=DF)

关于python - statsmodels 线性回归 - Patsy 公式包含模型中的所有预测变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58241155/

相关文章:

python - 用 python 解析 xml - 根据祖 parent 的 sibling 选择 child

r - 公式编号与 Rmarkdown 中的预览到 pdf?

r - 两片正态(或 split 正态)分布的密度

r - 使用 ggplot 在轴末端剪辑标记

python - statsmodels 汇总到 latex

python - 为什么在进行多个情节时情节图例会丢失标记?

python - Monkeypatch 在单元测试 python 中持续存在

python - Python中的幂运算

python - 访问 statsmodels 中的各个参数

python - 水平连接两个 CSV 文件