วิธีใช้ aline() ใน r เพื่อเพิ่มเส้นตรงให้กับแปลง


ฟังก์ชัน abline() ใน R สามารถใช้เพื่อเพิ่มเส้นตรงตั้งแต่หนึ่งเส้นขึ้นไปลงในพล็อตใน R

ฟังก์ชันนี้ใช้ไวยากรณ์ต่อไปนี้:

abline(a=NULL, b=NULL, h=NULL, v=NULL, …)

ทอง:

  • a, b: ค่าเฉพาะที่ระบุจุดกำเนิดและความชันของเส้น
  • h: ค่า y ของเส้นแนวนอน
  • v: ค่า x สำหรับเส้นแนวตั้ง

ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ

วิธีเพิ่มเส้นแนวนอน

รหัสพื้นฐานสำหรับการเพิ่มเส้นแนวนอนให้กับพล็อตใน R คือ: abline(h = some value)

สมมติว่าเรามี Scatterplot ต่อไปนี้ซึ่งแสดงค่าของ x และ y ในชุดข้อมูล:

 #define dataset
data <- data.frame(x = c(1, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11, 11),
                   y = c(13, 14, 17, 12, 23, 24, 25, 25, 24, 28, 32, 33, 35, 40, 41))

#plot x and y values in dataset
plot(data$x, data$y, pch = 16)

หากต้องการเพิ่มเส้นแนวนอนที่ค่า y = 20 เราสามารถใช้โค้ดต่อไปนี้:

 abline(h = 20, col = 'coral2', lwd = 2)

รหัสต่อไปนี้แสดงวิธีการเพิ่มเส้นทึบแนวนอนให้กับค่าเฉลี่ยของ y และเส้นประแนวนอนสองเส้นโดยมีค่าเบี่ยงเบนมาตรฐานหนึ่งค่าด้านบนและด้านล่างของค่าเฉลี่ย:

 #create scatterplot for x and y
plot(data$x, data$y, pch = 16)

#create horizontal line at mean value of y
abline(h = mean(data$y), lwd = 2)

#create horizontal lines at one standard deviation above and below the mean value
abline(h = mean(data$y) + sd(data$y), col = 'steelblue', lwd = 3, lty = 2)
abline(h = mean(data$y) - sd(data$y), col = 'steelblue', lwd = 3, lty = 2)

วิธีเพิ่มเส้นแนวตั้ง

รหัสพื้นฐานสำหรับการเพิ่มเส้นแนวตั้งให้กับพล็อตใน R คือ: abline(v = some value)

รหัสต่อไปนี้สาธิตวิธีการเพิ่มเส้นแนวตั้งให้กับค่าเฉลี่ยบนฮิสโตแกรม:

 #make this example reproducible
set.seed(0)

#create dataset with 1000 random values normally distributed with mean = 10, sd = 2
data <- rnorm(1000, mean = 10, sd = 2)

#create histogram of data values
hist(data, col = 'steelblue')

#draw a vertical dashed line at the mean value
abline(v = mean(data), lwd = 3, lty = 2)

วิธีเพิ่มเส้นการถดถอย

รหัสพื้นฐานสำหรับการเพิ่มเส้นการถดถอยเชิงเส้นอย่างง่ายให้กับพล็อตใน R คือ: abline(model)

รหัสต่อไปนี้สาธิตวิธีการเพิ่มเส้นการถดถอยเชิงเส้นที่ติดตั้งลงใน Scatterplot:

 #define dataset
data <- data.frame(x = c(1, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11, 11),
                   y = c(13, 14, 17, 12, 23, 24, 25, 25, 24, 28, 32, 33, 35, 40, 41))

#create scatterplot of x and y values
plot(data$x, data$y, pch = 16)

#fit a linear regression model to the data
reg_model <- lm(y ~ x, data = data)

#add the fitted regression line to the scatterplot
abline(reg_model, col="steelblue")

โปรดทราบว่าเราเพียงต้องการค่าสำหรับจุดตัดและความชันเพื่อให้พอดีกับเส้นการถดถอยเชิงเส้นอย่างง่ายกับข้อมูลโดยใช้ฟังก์ชัน abline()

ดังนั้น อีกวิธีหนึ่งในการใช้ abline() เพื่อเพิ่มเส้นการถดถอยคือการระบุค่าสัมประสิทธิ์ดั้งเดิมและค่าสัมประสิทธิ์ความชันของโมเดลการถดถอยอย่างชัดเจน:

 #define dataset
data <- data.frame(x = c(1, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11, 11),
                   y = c(13, 14, 17, 12, 23, 24, 25, 25, 24, 28, 32, 33, 35, 40, 41))

#create scatterplot of x and y values
plot(data$x, data$y, pch = 16)

#fit a linear regression model to the data
reg_model <- lm(y ~ x, data = data)

#define intercept and slope values
a <- coefficients(reg_model)[1] #intercept
b <- coefficients(reg_model)[2] #slope

#add the fitted regression line to the scatterplot
abline(a=a, b=b, col="steelblue")

โปรดทราบว่าสิ่งนี้จะสร้างบรรทัดเดียวกันกับเมื่อก่อน


คุณสามารถค้นหาบทช่วยสอน R เพิ่มเติมได้ใน หน้านี้

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *