如何在 R 中创建一个平淡无奇的奥特曼图?
在本文中,我们将讨论如何在 R 编程语言中创建 Bland-Altman 图。
Bland-Altman 图帮助我们可视化两种不同测量技术之间的测量差异。它广泛用于生物化学领域。它有助于确定两种仪器/技术在测量化学反应中的相同结构时的相似程度。
逐步实施
第 1 步:创建示例数据框
要使用 R 语言创建示例数据框,我们可以使用 read.csv()函数从 CSV 文件导入数据集,也可以使用 data.frame()函数创建我们自己的数据框。
第 2 步:计算测量值的差异
接下来,我们将在数据框中添加两个新列,用于存储两个变量的平均值和差异,以便以后绘图。为此,我们将使用分配函数。
句法:
Sample_Data$average <- rowMeans( Sample_Data )
Sample_Data$difference <- Sample_Data$var1 – Sample_Data$var2
步骤 3:计算置信区间的均值差和限值
为了计算平均差,我们将使用 R 语言的 mean()函数。要计算 90% 置信区间的下限和上限,我们将使用 sd()函数。
句法:
mean_difference <- mean( Sample_Data$difference )
lower_limit <- mean_difference – 1.91*sd( Sample_Data$difference )
upper_limit <- mean_difference + 1.91*sd( Sample_Data$difference )
第 4 步:绘制均值差、置信区间和散点图
为了绘制 Bland-Altman 图,我们将使用 ggplot2 包库的 ggplot()函数以及用于 mean_difference 和置信区间的 geom_hline()函数。
句法:
ggplot( Sample_Data, aes( x = average, y = difference ) ) + geom_point( ) +
geom_hline( yintercept = mean_differnce ) + geom_hline( yintercept = lower_limit ) +
geom_hline( yintercept = upper_limit )
这最终给出了 Bland-Altmon Plot。
示例: Bland-Altmon 图示例
R
# create sample data
Sample_Data <- data.frame(
var1=c(5, 5, 5, 6, 6, 7, 7, 7, 8, 8, 9, 10, 10, 11),
var2=c(4, 4, 5, 5, 5, 7, 8, 6, 9, 7, 7, 8, 9, 14))
# create new column for average measurement
Sample_Data$average <- rowMeans(Sample_Data)
# create new column for difference measurement
Sample_Data$difference <- Sample_Data$var1 - Sample_Data$var2
# calculate mean difference
mean_difference <- mean(Sample_Data$difference)
# calculate uppr and lower limits of the
# Confidence interval of 90%
lower_limit <- mean_difference - 1.91*sd( Sample_Data$difference )
upper_limit <- mean_difference + 1.91*sd( Sample_Data$difference )
# load library ggplot2
library(ggplot2)
# Plot the Bland-Altmon Plot
ggplot(Sample_Data, aes(x = average, y = difference)) +
geom_point(size=3) +
geom_hline(yintercept = mean_difference, color= "red", lwd=1.5) +
geom_hline(yintercept = lower_limit, color = "green", lwd=1.5) +
geom_hline(yintercept = upper_limit, color = "green", lwd=1.5)
输出: