R でブランド-アルトマン プロットを作成する方法 (ステップバイステップ)
Bland-Altman プロットは、 2 つの異なる機器または 2 つの異なる測定技術間の測定差を視覚化するために使用されます。
これは、同じ概念を測定する際に 2 つの機器または技術がどの程度類似しているかを判断するのに役立ちます。
このチュートリアルでは、R でブランド-アルトマン プロットを作成する方法の段階的な例を示します。
ステップ 1: データを作成する
生物学者が 2 つの異なる機器 (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: 測定値の差を計算する
次に、各カエルの平均測定値と測定値の差を含む 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: 平均差と信頼区間を計算する
次に、2 つの機器間の測定値の平均差と、平均差の 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データ視覚化パッケージを使用して 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 軸は 2 つの機器の平均測定値を表示し、Y 軸は 2 つの機器間の測定値の差を表示します。
黒い線は 2 つの機器間の測定値の平均差を表し、2 つの赤い点線は平均差の 95% 信頼区間の限界を表します。