วิธีพล็อตเส้นการถดถอยตามกลุ่มด้วย ggplot2


เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อพล็อตเส้นการถดถอยกลุ่มโดยใช้แพ็คเกจการสร้างภาพ R ggplot2 :

 ggplot(df, aes (x = x_variable, y = y_variable, color = group_variable)) +
  geom_point() +
  geom_smooth(method = " lm ", fill = NA )

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

ตัวอย่าง: การวางแผนเส้นการถดถอยตามกลุ่มด้วย ggplot2

สมมติว่าเรามีชุดข้อมูลต่อไปนี้ที่แสดงตัวแปรสามตัวต่อไปนี้สำหรับนักเรียน 15 คน:

  • จำนวนชั่วโมงที่เรียน
  • คะแนนสอบที่ได้รับ
  • เทคนิคการศึกษาที่ใช้ (ทั้ง A, B หรือ C)
 #create dataset
df <- data.frame(hours=c(1, 2, 3, 3, 4, 1, 2, 2, 3, 4, 1, 2, 3, 4, 4),
                 score=c(84, 86, 85, 87, 94, 74, 76, 75, 77, 79, 65, 67, 69, 72, 80),
                 technique= rep (c(' A ', ' B ', ' C '), each = 5 ))

#view dataset
df

   hours technical score
1 1 84 A
2 2 86 A
3 3 85 A
4 3 87 A
5 4 94 A
6 1 74 B
7 2 76 B
8 2 75 B
9 3 77 B
10 4 79 B
11 1 65 C
12 2 67 C
13 3 69 C
14 4 72 C
15 4 80 C

รหัสต่อไปนี้แสดงวิธีการพล็อตเส้นการถดถอยที่รวบรวมความสัมพันธ์ระหว่างชั่วโมงที่เรียนและคะแนนสอบสำหรับเทคนิคการศึกษาแต่ละเทคนิคจากสามเทคนิค:

 #load ggplot2
library (ggplot2)

#create regression lines for all three groups
ggplot(df, aes (x = hours, y = score, color = technique)) +
  geom_point() +
  geom_smooth(method = " lm ", fill = NA )

เส้นการถดถอยตามกลุ่มใน ggplot2

โปรดทราบว่าใน geom_smooth() เราใช้ method = ‘lm” เพื่อระบุแนวโน้มเชิงเส้น

นอกจากนี้เรายังสามารถใช้วิธีการปรับให้เรียบอื่นๆ เช่น “glm”, “loess” หรือ “gam” เพื่อจับแนวโน้มที่ไม่เป็นเชิงเส้นในข้อมูล คุณสามารถดูเอกสารฉบับเต็มสำหรับ geom_smooth() ได้ที่นี่

โปรดทราบว่าเราสามารถใช้รูปทรงที่แตกต่างกันเพื่อแสดงผลการสอบสำหรับแต่ละกลุ่มในสามกลุ่มได้:

 ggplot(df, aes (x = hours, y = score, color = technique, shape = technique)) +
  geom_point() +
  geom_smooth(method = " lm ", fill = NA )

เส้นการถดถอยหลายบรรทัดในพล็อตเดียวใน ggplot2

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

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

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