วิธีสร้างพล็อตเรื่อง bland-altman ใน r (ทีละขั้นตอน)
พล็อต Bland-Altman ถูกใช้เพื่อแสดงภาพความแตกต่างในการวัดระหว่างเครื่องมือสองชนิดที่แตกต่างกันหรือสองเทคนิคการวัดที่แตกต่างกัน
มีประโยชน์ในการพิจารณาว่าเครื่องมือหรือเทคนิคสองชนิดมีความคล้ายคลึงกันในการวัดแนวคิดเดียวกันอย่างไร
บทช่วยสอนนี้ให้ตัวอย่างทีละขั้นตอนของวิธีสร้างพล็อต Bland-Altman ใน R
ขั้นตอนที่ 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
ต่อไป เราจะใช้โค้ดต่อไปนี้เพื่อสร้างพล็อต Bland-Altman โดยใช้แพ็คเกจการแสดงข้อมูล ggplot2 :
#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% สำหรับผลต่างค่าเฉลี่ย