R에서 bland-altman 플롯을 생성하는 방법(단계별)
Bland-Altman 플롯은 두 개의 서로 다른 장비 또는 두 개의 서로 다른 측정 기술 간의 측정 차이를 시각화하는 데 사용됩니다.
동일한 개념을 측정할 때 두 도구나 기술이 얼마나 유사한지 확인하는 데 유용합니다.
이 튜토리얼에서는 R에서 Bland-Altman 플롯을 생성하는 방법에 대한 단계별 예를 제공합니다.
1단계: 데이터 생성
생물학자가 두 개의 서로 다른 도구(A와 B)를 사용하여 동일한 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단계: Bland-Altman 도표 생성
다음으로, 다음 코드를 사용하여 ggplot2 데이터 시각화 패키지를 사용하여 Bland-Altman 플롯을 생성합니다.
#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% 신뢰 구간의 한계를 나타냅니다.