首页 > 解决方案 > 使用 `R` 中的 `modelsummary::datasummary_balance` 摆脱 `N`

问题描述

我正在使用datasummary_balance它并且效果惊人......除了它给了我处理和控制之间的观察次数。这通常很好,但我有集群,所以观察的数量和数量并不反映集群的数量。知道如何解决这个问题吗?麻烦的N。提前致谢。

为了澄清起见,我想将表格上的标题更改为没有 N=...

标签: rmodelsummary

解决方案


不幸的是,目前没有办法删除列标签中的观察数。目的是让datasummary_*函数族的成员充当现成的“模板”,并让用户datasummary()在需要更广泛地定制时使用基本函数。

也就是说,根据您的输出格式,使用简单的正则表达式删除观察数可能很简单。

乳胶:

library(modelsummary)
library(magrittr)
dat = mtcars[, c("am", "hp", "mpg")]
dat$am = as.character(dat$am)

datasummary_balance(~am, output = "latex", data = dat) %>%
    gsub("\\(N=\\d*\\)", "", .)

# \begin{table}
# \centering
# \begin{tabular}[t]{lrrrrrr}
# \toprule
# \multicolumn{1}{c}{ } & \multicolumn{2}{c}{0 } & \multicolumn{2}{c}{1 } & \multicolumn{2}{c}{ } \\
# \cmidrule(l{3pt}r{3pt}){2-3} \cmidrule(l{3pt}r{3pt}){4-5}
#   & Mean & Std. Dev. & Mean  & Std. Dev.  & Diff. in Means & Std. Error\\
# \midrule
# hp & 160.3 & 53.9 & 126.8 & 84.1 & \num{-33.4} & \num{26.4}\\
# mpg & 17.1 & 3.8 & 24.4 & 6.2 & \num{7.2} & \num{1.9}\\
# \bottomrule
# \end{tabular}
# \end{table}

HTML:

datasummary_balance(~am, output = "html", data = dat) %>%
    gsub("\\(N=\\d*\\)", "", .)

# <table class="table" style="width: auto !important; margin-left: auto; margin-right: auto;">
#  <thead>
# <tr>
# <th style="empty-cells: hide;border-bottom:hidden;" colspan="1"></th>
# <th style="border-bottom:hidden;padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; " colspan="2"><div style="border-bottom: 1px solid #ddd; padding-bottom: 5px; ">0 </div></th>
# <th style="border-bottom:hidden;padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; " colspan="2"><div style="border-bottom: 1px solid #ddd; padding-bottom: 5px; ">1 </div></th>
# <th style="empty-cells: hide;border-bottom:hidden;" colspan="2"></th>
# </tr>
#   <tr>
#    <th style="text-align:left;">   </th>
#    <th style="text-align:right;"> Mean </th>
#    <th style="text-align:right;"> Std. Dev. </th>
#    <th style="text-align:right;"> Mean  </th>
#    <th style="text-align:right;"> Std. Dev.  </th>
#    <th style="text-align:right;"> Diff. in Means </th>
#    <th style="text-align:right;"> Std. Error </th>
#   </tr>
#  </thead>
# <tbody>
#   <tr>
#    <td style="text-align:left;"> hp </td>
#    <td style="text-align:right;"> 160.3 </td>
#    <td style="text-align:right;"> 53.9 </td>
#    <td style="text-align:right;"> 126.8 </td>
#    <td style="text-align:right;"> 84.1 </td>
#    <td style="text-align:right;"> −33.4 </td>
#    <td style="text-align:right;"> 26.4 </td>
#   </tr>
#   <tr>
#    <td style="text-align:left;"> mpg </td>
#    <td style="text-align:right;"> 17.1 </td>
#    <td style="text-align:right;"> 3.8 </td>
#    <td style="text-align:right;"> 24.4 </td>
#    <td style="text-align:right;"> 6.2 </td>
#    <td style="text-align:right;"> 7.2 </td>
#    <td style="text-align:right;"> 1.9 </td>
#   </tr>
# </tbody>
# </table>

推荐阅读