statsmodel summary col 得到乳胶密钥错误?
statsmodel summary col getting a latex key error?
我在使用 summary_col 函数时遇到了关键错误。
import statsmodels.api as sm
from statsmodels.iolib.summary2 import summary_col
Y = [0,1,0,0,1,1,1]
X = [5,10,15,20,25,2,7]
logit = sm.Logit(Y,X)
fit = logit.fit()
print(fit.summary())
logit_output = summary_col([fit],stars=True)
print(logit_output.as_latex())
给我一个“键错误:'\m'”。令人惊讶的是,fit.summary().as_latex() 不会 return 这个错误。
我读了一些代码,我认为你在 statsmodels 的代码中触发了一个错误。
这是我的疯狂解释。函数summary_col
returns Summary
class 的一个对象并设置_merge_latex = True
。在 .as_latex()
中启用下一个 if-caluse。这是 link 到 source 的地方,我在其中找到了以下代码:
if self._merge_latex:
# create single tabular object for summary_col
tab = re.sub(to_replace, r'\midrule\n', tab)
如果您调用 fit.summary().as_latex()
,则默认调用 _merge_latex = False
。所以你不会进入这部分,也不会得到同样的错误。
现在我不确定哪里出了问题。我可以想到两种情况:
re.sub()
只调用了一次,还有剩余的东西要替换
r'\midrule\n'
在这一行中是错误的,应该是 '\midrule\n'
。
要取得一些进展,您必须构建一个最小示例。
要禁用错误以查看我是否在正确的轨道上,请添加
logit_output._merge_latex = False
重新运行之前
print(logit_output.as_latex())
你的代码并检查错误是否改变。这可能会产生您不想要的输出。
我在使用 summary_col 函数时遇到了关键错误。
import statsmodels.api as sm
from statsmodels.iolib.summary2 import summary_col
Y = [0,1,0,0,1,1,1]
X = [5,10,15,20,25,2,7]
logit = sm.Logit(Y,X)
fit = logit.fit()
print(fit.summary())
logit_output = summary_col([fit],stars=True)
print(logit_output.as_latex())
给我一个“键错误:'\m'”。令人惊讶的是,fit.summary().as_latex() 不会 return 这个错误。
我读了一些代码,我认为你在 statsmodels 的代码中触发了一个错误。
这是我的疯狂解释。函数summary_col
returns Summary
class 的一个对象并设置_merge_latex = True
。在 .as_latex()
中启用下一个 if-caluse。这是 link 到 source 的地方,我在其中找到了以下代码:
if self._merge_latex:
# create single tabular object for summary_col
tab = re.sub(to_replace, r'\midrule\n', tab)
如果您调用 fit.summary().as_latex()
,则默认调用 _merge_latex = False
。所以你不会进入这部分,也不会得到同样的错误。
现在我不确定哪里出了问题。我可以想到两种情况:
re.sub()
只调用了一次,还有剩余的东西要替换r'\midrule\n'
在这一行中是错误的,应该是'\midrule\n'
。
要取得一些进展,您必须构建一个最小示例。 要禁用错误以查看我是否在正确的轨道上,请添加
logit_output._merge_latex = False
重新运行之前
print(logit_output.as_latex())
你的代码并检查错误是否改变。这可能会产生您不想要的输出。