2

背景

我正在使用该irrR为我正在做的项目生成一些评估者间可靠性统计数据。这是使用包的内置数据的 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 ‘&quot;irrlist"’ to a data.frame.

我查看了另外 2 个过去对我有帮助的包texregstargazer但是他们的文档并没有说他们支持irr输出,所以我还没有真正尝试过它们。(虽然我会在发布后发布此内容。)与此同时,我也在浏览这篇文章以查看是否有任何效果。谢谢你的时间。

编辑/附录

下面有一些来自@akrun 和@TarJae 的简洁答案,它们使用了新颖的(对我而言)方法和包。这些方法可能对来自包的统计输出有很大帮助,这些包irrtexregstargazer. 换句话说,我认为它们可能会推广到其他情况。希望读者们看看!

4

2 回答 2

3

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

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

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

我们可以转换为data.framedo.call

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}
于 2021-10-11T19:00:24.153 回答
2

我们可以使用gtsummary. 有关详细改编,请参见此处:http ://www.danieldsjoberg.com/gtsummary/

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

library(gtsummary)

out %>% 
  tbl_summary

在此处输入图像描述

于 2021-10-11T19:11:25.887 回答