首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在模型摘要()中添加来自kable()的参数,输出为kableExtra

如何在模型摘要()中添加来自kable()的参数,输出为kableExtra
EN

Stack Overflow用户
提问于 2021-01-19 19:22:03
回答 1查看 141关注 0票数 0

我最近发现了来自answer to this question的R包modelsummary。看起来,由modelsummary创建的汇总表的输出可以是kable_knitr类,该类可以从kableExtra提供给其他函数,比如kable_styling

但是,我一直纠结于如何从函数kable()modelsummary()函数指定其他选项的值。一种显而易见的方法是获取data.frame输出,然后将其输入到kable中。有没有更好的替代方案(这样我就可以避免修复data.frame输出?

我特别寻找kable()选项、escape=F (在latex输出中插入希腊字母-请参阅this)和booktabs=T

一个可重现的例子:

代码语言:javascript
复制
x=rnorm(100)
mod1=arima(x,order = c(1,0,1))
modelsummary(mod1, output = 'kableExtra', coef_rename = c('ar1'='$x_{t-1}$', 
                                                           'ma1'='$\\epsilon_{t-1}$')) %>% 
  kable_styling(latex_options = 'HOLD_position')

在上表中,我尝试将变量重命名为数学样式,如果名称按原样给出,这将在kable()中起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-19 20:14:07

自动将...省略号推送到kbl函数。像escape这样的有效参数可以直接传递给modelsummary

请注意,基于output参数文档的“后处理”说明中解释的原因,我更喜欢在后处理函数之前直接指定我需要的输出格式,否则kableExtra将默认地准备一个HTML表:

代码语言:javascript
复制
library(kableExtra)
library(modelsummary)
x=rnorm(100)
mod1=arima(x,order = c(1,0,1))

modelsummary(
  mod1, 
  output = "latex",
  coef_rename = c('ar1'='$x_{t-1}$', 'ma1'='$\\epsilon_{t-1}$'),
  escape = FALSE)
代码语言:javascript
复制
\begin{table}[H]
\centering
\begin{tabular}[t]{lc}
\toprule
  & Model 1\\
\midrule
$x_{t-1}$ & 0.337\\
 & (0.368)\\
$\epsilon_{t-1}$ & -0.490\\
 & (0.335)\\
intercept & 0.007\\
 & (0.068)\\
\midrule
Num.Obs. & 100\\
AIC & 267.6\\
BIC & 278.0\\
Log.Lik. & -129.808\\
\bottomrule
\end{tabular}
\end{table}

还要注意,modelsummary已经在内部调用过kable_styling一次,并且将kable_styling添加到kableExtra生成的latex表中有时会产生奇怪的结果,因为kableExtra会将表嵌套在表中。(注意:我计划就此向kableExtra提交一个错误修复。)

代码语言:javascript
复制
data.frame(a = 1:2, b = 2:3) %>%
  kbl("latex") %>%
  kable_styling() %>% 
  kable_styling() %>%
  kable_styling()
代码语言:javascript
复制
\begin{table}[H]
\centering\begin{table}[H]
\centering\begin{table}[H]
\centering
\begin{tabular}[t]{r|r}
\hline
a & b\\
\hline
1 & 2\\
\hline
2 & 3\\
\hline
\end{tabular}
\end{table}
\end{table}
\end{table}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65790518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档