【问题标题】:In R, make a "pretty" result table in LaTeX, PDF, or HTML from "IRR" package output在 R 中,从“IRR”包输出中以 LaTeX、PDF 或 HTML 格式制作一个“漂亮”的结果表
【发布时间】:2021-11-30 11:52:10
【问题描述】:

背景

我正在使用R 中的irr 包为我正在做的项目生成一些评估者间可靠性统计数据。下面是使用包的内置数据的 Fleiss 的 Kappa 示例:

install.packages("irr")
library(irr)
data("diagnoses", package = "irr")
diagnoses2 <- diagnoses[, 1:3]
kappam.fleiss(diagnoses2)

这给出了一个简单的小输出表,在 R 控制台中如下所示:

问题和期望的结果

我想“美化”这个输出,以便我可以将它导入到我用来编写结果的 LaTeX 文档中。

我基本上会采用任何格式,只要它或多或少是自动的:LaTeX、PDF 或 PNG 图像,甚至是表格​​的 HTML 版本。问题是我要制作几个这样的输出表,我宁愿不必笨拙地手动将它们转换为 LaTeX 格式。如果必须,我会这样做,但我很想节省时间。

我的尝试

我已经尝试过像这样使用knitr

knitr::kable(diagnoses2, "latex")

但效果不太好:cannot coerce class ‘"irrlist"’ to a data.frame

我查看了另外两个过去帮助过我的软件包,texregstargazer,但他们的文档并没有说他们支持 irr 输出,所以我还没有真正尝试过它们然而。 (虽然我会发布这个。)与此同时,我也会通过this post 看看是否有任何效果。感谢您的宝贵时间。

编辑/补充

@akrun 和 @TarJae 使用新颖的(对我而言)方法和包提供了一些简洁的答案。这些方法对于不是irr 但在texregstargazer 等包中也没有“官方支持”的包的统计输出可能有很大帮助。换句话说,我认为它们可能会推广到其他情况。我希望读者检查他们!

【问题讨论】:

    标签: r latex stargazer texreg


    【解决方案1】:

    我们可以使用gtsummary。详细改编见这里:http://www.danieldsjoberg.com/gtsummary/

    out <- do.call(data.frame, kappam.fleiss(diagnoses2))
    
    library(gtsummary)
    
    out %>% 
      tbl_summary
    

    【讨论】:

    • 哇,不知道gtsummary。看起来很棒。稍后我会查看文档,但看起来输出是图像,对吧——PDF 或 PNG 之类的?
    • 花几分钟时间来浏览 ´gtsummary` 真的值得 IT 生成真正可发布的表格!
    【解决方案2】:

    如果我们直接在输出上应用data.frame,它不会工作,因为class

    as.data.frame(kappam.fleiss(diagnoses2))
    

    as.data.frame.default(kappam.fleiss(diagnoses2)) 中的错误: 无法将“irrlist”类强制转换为 data.frame

    我们可以在do.call 内转换为data.frame

    out <- do.call(data.frame, kappam.fleiss(diagnoses2))
    

    -检查结构

    > str(out)
    'data.frame':   1 obs. of  8 variables:
     $ method   : chr "Fleiss' Kappa for m Raters"
     $ subjects : int 30
     $ raters   : int 3
     $ irr.name : chr "Kappa"
     $ value    : num 0.534
     $ stat.name: chr "z"
     $ statistic: num 9.89
     $ p.value  : num 0
    

    一旦我们转换成data.framekable 就可以工作了

    > knitr::kable(out, "latex")
    
    \begin{tabular}{l|r|r|l|r|l|r|r}
    \hline
    method & subjects & raters & irr.name & value & stat.name & statistic & p.value\\
    \hline
    Fleiss' Kappa for m Raters & 30 & 3 & Kappa & 0.5343368 & z & 9.893792 & 0\\
    \hline
    \end{tabular}
    

    【讨论】:

    • 我将在大约 15 分钟后尝试一下,如果它有效,我会标记答案,如果无效,我会再给你一条评论。一如既往地感谢 Akrun。
    • 效果很好,干杯。虽然用 GTSummary 查看上面的@TarJae 答案,但也很干净!
    猜你喜欢
    • 2012-07-09
    • 2020-01-20
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-14
    相关资源
    最近更新 更多