Как создать график бланда-альтмана в r (шаг за шагом)
График Бланда-Альтмана используется для визуализации различий в измерениях между двумя разными приборами или двумя разными методами измерения.
Это полезно для определения того, насколько похожи два инструмента или метода при измерении одного и того же понятия.
В этом руководстве представлен пошаговый пример создания графика Бланда-Альтмана в R.
Шаг 1. Создайте данные
Предположим, биолог использует два разных прибора (А и Б) для измерения веса одного и того же набора из 20 разных лягушек в граммах.
Мы создадим следующий кадр данных в R, который представляет вес каждой лягушки, измеренный каждым инструментом:
#create data df <- data. frame (A=c(5, 5, 5, 6, 6, 7, 7, 7, 8, 8, 9, 10, 11, 13, 14, 14, 15, 18, 22, 25), B=c(4, 4, 5, 5, 5, 7, 8, 6, 9, 7, 7, 11, 13, 13, 12, 13, 14, 19, 19, 24)) #view first six rows of data head(df) AB 1 5 4 2 5 4 3 5 5 4 6 5 5 6 5 6 7 7
Шаг 2: Рассчитайте разницу измерений
Далее мы создадим два новых столбца во фрейме данных, содержащих средние размеры каждой лягушки, а также разницу в измерениях:
#create new column for average measurement df$avg <- rowMeans(df) #create new column for difference in measurements df$diff <- df$A - df$B #view first six rows of data head(df) AB avg diff 1 5 4 4.5 1 2 5 4 4.5 1 3 5 5 5.0 0 4 6 5 5.5 1 5 6 5 5.5 1 6 7 7 7.0 0
Шаг 3. Рассчитайте среднюю разницу и доверительный интервал.
Далее мы рассчитаем среднюю разницу в измерениях между двумя приборами, а также верхний и нижний пределы 95% доверительного интервала для средней разницы:
#find average difference mean_diff <- mean(df$diff) mean_diff [1] 0.5 #find lower 95% confidence interval limits lower <- mean_diff - 1.96*sd(df$diff) lower [1] -1.921465 #find upper 95% confidence interval limits upper <- mean_diff + 1.96*sd(df$diff) upper [1] 2.921465
Средняя разница оказывается равной 0,5 , а 95% доверительный интервал для средней разницы составляет [-1,921, 2,921] .
Шаг 4. Создайте график Бланда-Альтмана
Далее мы будем использовать следующий код для создания графика Бланда-Альтмана с использованием пакета визуализации данных ggplot2 :
#load ggplot2 library (ggplot2) #create Bland-Altman plot ggplot(df, aes (x = avg, y = diff)) + geom_point(size=2) + geom_hline(yintercept = mean_diff) + geom_hline(yintercept = lower, color = " red ", linetype=" dashed ") + geom_hline(yintercept = upper, color = " red ", linetype=" dashed ") + ggtitle(" Bland-Altman Plot ") + ylab(" Difference Between Measurements ") + xlab(" Average Measurement ")
По оси X графика отображаются средние измерения двух инструментов, а по оси Y отображается разница измерений между двумя инструментами.
Черная линия представляет собой среднюю разницу в измерениях между двумя приборами, а две красные пунктирные линии представляют пределы 95% доверительного интервала для средней разницы.