微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python Stargazer LaTeX 输出无法使用

如何解决Python Stargazer LaTeX 输出无法使用

我正在尝试使用 Python 的 Stargazer 包来输出回归表。然而,对于不知道如何格式化的人来说,输出是无可救药的。

给出的认示例:


import pandas as pd
from sklearn import datasets
import statsmodels.api as sm
from stargazer.stargazer import Stargazer

diabetes = datasets.load_diabetes()
df = pd.DataFrame(diabetes.data)
df.columns = ['Age','Sex','BMI','ABP','S1','S2','S3','S4','S5','S6']
df['target'] = diabetes.target

est = sm.OLS(endog=df['target'],exog=sm.add_constant(df[df.columns[0:4]])).fit()
est2 = sm.OLS(endog=df['target'],exog=sm.add_constant(df[df.columns[0:6]])).fit()


stargazer = Stargazer([est])
stargazer.render_latex()


这给出:

'\\begin{table}[!htbp] \\centering\n\\begin{tabular}{@{\\extracolsep{5pt}}lc}\n\\\\[-1.8ex]\\hline\n\\hline \\\\[-1.8ex]\n& \\multicolumn{1}{c}{\\textit{Dependent variable:}} \\\n\\cr \\cline{1-2}\n\\\\[-1.8ex] & (1) \\\\\n\\hline \\\\[-1.8ex]\n ABP & 416.674$^{***}$ \\\\\n & (69.495) \\\\\n Age & 37.241$^{}$ \\\\\n & (64.117) \\\\\n BMI & 787.179$^{***}$ \\\\\n & (65.424) \\\\\n Sex & -106.578$^{*}$ \\\\\n & (62.125) \\\\\n const & 152.133$^{***}$ \\\\\n & (2.853) \\\\\n\\hline \\\\[-1.8ex]\n Observations & 442 \\\\\n $R^2$ & 0.400 \\\\\n Adjusted $R^2$ & 0.395 \\\\\n Residual Std. Error & 59.976(df = 437) \\\\\n F Statistic & 72.913$^{***}$ (df = 4.0; 437.0) \\\\\n\\hline\n\\hline \\\\[-1.8ex]\n\\textit{Note:} & \\multicolumn{1}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\\\\n\\end{tabular}\n\\end{table}'

我首先使用 Stargazer,因为我不知道 LaTeX,但出于同样的原因,我无法将其设置为正确。有没有办法让 Stargazer 输出一些有用的东西?

另外,学习如何在 LaTeX 中自己编写回归表的最快方法是什么?我更愿意学习,这样我就可以自己做。

谢谢。

解决方法

在它周围使用 print 应该返回一个可用的 Latex 代码:

     print(stargazer.render_latex())

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。