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

R のブランド-アルトマン プロット

プロットの X 軸は 2 つの機器の平均測定値を表示し、Y 軸は 2 つの機器間の測定値の差を表示します。

黒い線は 2 つの機器間の測定値の平均差を表し、2 つの赤い点線は平均差の 95% 信頼区間の限界を表します。

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です