Jak utworzyć wykres blanda-altmana w r (krok po kroku)
Wykres Blanda-Altmana służy do wizualizacji różnic pomiarowych między dwoma różnymi instrumentami lub dwiema różnymi technikami pomiarowymi.
Jest to przydatne do określenia, jak podobne są dwa instrumenty lub techniki w pomiarze tego samego pojęcia.
W tym samouczku przedstawiono krok po kroku przykład tworzenia wykresu Blanda-Altmana w języku R.
Krok 1: Utwórz dane
Załóżmy, że biolog używa dwóch różnych przyrządów (A i B) do pomiaru masy tego samego zestawu 20 różnych żab w gramach.
Stworzymy następującą ramkę danych w R, która reprezentuje wagę każdej żaby zmierzoną przez każdy instrument:
#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
Krok 2: Oblicz różnicę pomiarów
Następnie utworzymy dwie nowe kolumny w ramce danych zawierające średni pomiar każdej żaby oraz różnicę pomiarów:
#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
Krok 3: Oblicz średnią różnicę i przedział ufności
Następnie obliczymy średnią różnicę pomiarów pomiędzy dwoma instrumentami oraz górną i dolną granicę 95% przedziału ufności dla średniej różnicy:
#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
Okazuje się, że średnia różnica wynosi 0,5 , a 95% przedział ufności dla średniej różnicy wynosi [-1,921, 2,921] .
Krok 4: Utwórz wykres Blanda-Altmana
Następnie użyjemy poniższego kodu do utworzenia wykresu Blanda-Altmana przy użyciu pakietu wizualizacji danych 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 ")
Oś x wykresu przedstawia średni pomiar dokonany przez dwa instrumenty, a oś y przedstawia różnicę w pomiarach pomiędzy dwoma instrumentami.
Czarna linia przedstawia średnią różnicę pomiarów między dwoma instrumentami, podczas gdy dwie czerwone linie przerywane przedstawiają granice 95% przedziału ufności dla średniej różnicy.