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 ") 

Działka Blanda-Altmana w R

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.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *