Построение результатов нескольких анализов Бланда-Альтмана - PullRequest
0 голосов
/ 15 февраля 2012

Я сравнил несколько диагностических методов с золотым стандартом, используя графики Бланда-Альтмана.Теперь я бы графически изобразил разницу в согласии между каждым методом и золотым стандартом на одном графике.Я пытаюсь изобразить средние значения, доверительные интервалы и дисперсию, полученные из различных графиков Бланда-Альтмана, как горизонтальные прямоугольники, но я не знаю, как это сделать.У меня есть такой кадр данных:

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

Большое спасибо за вашу помощь!

Corrado

Ответы [ 3 ]

1 голос
/ 16 февраля 2012

Вы должны понимать, что «истинный» блокпост представляет собой особый тип графика, основанный на непараметрической статистике, ни один из которых вы не предложили. Если вы хотите назвать это как-то иначе, вы можете это сделать и можете использовать функцию bxp для построения графика. Вам необходимо создать матрицу из 5 строк и 3 столбцов со значениями для параметров whisker и box. Возможно, вы думаете, что дисперсию можно использовать для построения стандартного отклонения?

 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?")
1 голос
/ 16 февраля 2012

Я не могу предоставить вам рабочий код 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 , который поможет вам сравнить несколько методов с золотыми.стандартный, с повторениями или без них, а также при отображении результатов.Сопутствующий учебник:

Карстенсен, Б. Сравнение методов клинических измерений .John Wiley & Sons Ltd 2010

enter image description here

0 голосов
/ 15 февраля 2012

Вы пытались использовать команду R's boxplot () ?

Я думаю, что по умолчанию предполагается, что вы предоставляете необработанные данные и задаете коэффициент, с помощью которого они сегментируются.Он вычислит свои собственные границы для коробки, которые могут соответствовать или не соответствовать тому, что вы используете.Если вы хотите легко настраивать r-графику, и у вас есть немного времени на изучение, посмотрите ggplot2 от wikham.Это мощный, гибкий и красивый!

Удачи!.

...