我正在尝试使用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中自己编写回归表的最快方法是什么?我更喜欢学习,这样我就可以自己做了。
谢谢。
发布于 2021-05-05 17:37:20
在它周围使用print应该返回一个可用的Latex代码:
print(stargazer.render_latex())https://stackoverflow.com/questions/67030470
复制相似问题