如何在 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 ") 

R 中的 Bland-Altman 图

绘图的 x 轴显示两台仪器的平均测量值,y 轴显示两台仪器之间的测量值差异。

黑线代表两台仪器之间测量值的平均差异,而两条红色虚线代表平均差异的 95% 置信区间的限值。

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注