0

我使用 Bland-Altman 图将几种诊断方法与黄金标准进行了比较。现在,我将在一个图中以图形方式表示每种方法与黄金标准之间的一致性差异。我正在尝试将来自各种 Bland-Altman 图的均值、置信区间和方差绘制为水平箱线图,但我不知道我应该这样做。我有一个这样的数据框:

Method    LCL    mean    UCL    var
A         -5     4       15     27
B         -9     2       13     33
C         -8     4       16     36

非常感谢您的帮助!

科拉多

4

3 回答 3

1

您需要意识到“真正的”箱线图是一种基于非参数统计的特定类型的图,您没有提供任何一种。如果您想将其称为其他名称,则可以随意这样做,并且可以使用该bxp功能进行绘图。您需要创建一个包含 5 行和 3 列的矩阵,其中包含晶须和框参数的值。您可能认为方差可以用来构建标准差?

 dat <- read.table(text="Method    LCL    mean    UCL    var
 A         -5     4       15     27
 B         -9     2       13     33
 C         -8     4       16     36
 ", header=TRUE)
 dat$sdpd <- dat$mean + dat$var^0.5
 dat$sdmd <- dat$mean - dat$var^0.5
 dat
#------
  Method LCL mean UCL var      sdpd      sdmd
1      A  -5    4  15  27  9.196152 -1.196152
2      B  -9    2  13  33  7.744563 -3.744563
3      C  -8    4  16  36 10.000000 -2.000000
#----------
 bxpm <- with(dat, t(matrix(c(LCL, sdmd, mean, sdpd, UCL), 3,5)))
 bxpm
#----------
          [,1]      [,2] [,3]
[1,] -5.000000 -9.000000   -8
[2,] -1.196152 -3.744563   -2
[3,]  4.000000  2.000000    4
[4,]  9.196152  7.744563   10
[5,] 15.000000 13.000000   16

 bxp(list(stats=bxpm, names=dat$Method ), main="Not a real boxplot\n
                                                Perhaps a double dynamite plot?")
于 2012-02-15T20:02:57.620 回答
1

我无法为您提供有效的 R 代码,因为您没有提供原始数据(箱线图需要这些数据),并且不清楚您想要显示什么,因为没有任何迹象表明您的黄金标准在给定的聚合中发挥作用数据(这些是用不同仪器重复测量吗?),除非报告的平均值代表第 i 个方法和参考方法之间的差异(在这种情况下,我看不出你如何使用箱线图)。您的数据的基本图可能看起来像

dfrm <- data.frame(method=LETTERS[1:3], lcl=c(-5,-9,-8), 
                   mean=c(4,2,4), ucl=c(15,13,16), var=c(27,33,36))
# I use stripchart to avoid axis relabeling and casting of factor to numeric
# with default plot function
stripchart(mean ~ seq(1,3), data=dfrm, vertical=TRUE, ylim=c(-10,20),
           group.names=levels(dfrm$method), pch=19)
with(dfrm, arrows(1:3, mean-lcl, 1:3, mean+lcl, angle=90, code=3, length=.1))
abline(h=0, lty=2)

但是,我可以建议您查看MethComp包,它可以帮助您将几种方法与黄金标准进行比较,无论是否重复,以及显示结果。配套教材是

Carstensen, B.比较临床测量方法。约翰威利父子公司 2010

在此处输入图像描述

于 2012-02-15T20:05:52.460 回答
0

您是否尝试过使用 R 的boxplot()命令?

我认为默认情况下,它假定您提供原始数据,并指定用于分割数据的因素。它将计算它自己的盒子边界,这可能与您使用的内容相对应,也可能不对应。如果您希望能够轻松地微调 r-graphics,并且您有一点时间学习,请查看 hadly wikham 的 ggplot2。它功能强大,灵活且漂亮!

祝你好运!。

于 2012-02-15T19:37:39.157 回答