วิธีสร้างพล็อตการโต้ตอบใน r


การวิเคราะห์ความแปรปรวนแบบสองทาง ใช้เพื่อพิจารณาว่ามีความแตกต่างระหว่างค่าเฉลี่ยของกลุ่มอิสระสามกลุ่มขึ้นไปที่ถูกแบ่งออกเป็นสองปัจจัยหรือไม่

เราใช้การวิเคราะห์ความแปรปรวนแบบสองทางเมื่อเราต้องการทราบว่าปัจจัยเฉพาะสองปัจจัยส่งผลต่อตัวแปรการตอบสนองบางอย่างหรือไม่

อย่างไรก็ตาม บางครั้งมี ผลกระทบปฏิสัมพันธ์ ระหว่างปัจจัยทั้งสอง ซึ่งอาจส่งผลต่อวิธีที่เราตีความความสัมพันธ์ระหว่างปัจจัยและตัวแปรการตอบสนอง

ตัวอย่างเช่น เราอาจต้องการทราบว่าปัจจัย (1) การออกกำลังกาย และ (2) เพศ ส่งผลต่อการตอบสนองต่อ การลดน้ำหนัก หรือไม่ แม้ว่าทั้งสองปัจจัยจะส่งผลต่อการลดน้ำหนัก แต่ก็เป็นไปได้ที่ทั้งสองปัจจัยจะมีปฏิกิริยาโต้ตอบกัน

ตัวอย่างเช่น เป็นไปได้ว่าการออกกำลังกายทำให้น้ำหนักลดลงในอัตราที่ต่างกันในผู้ชายและผู้หญิง ในกรณีนี้มีผลกระทบต่อปฏิสัมพันธ์ระหว่างการออกกำลังกายและเพศ

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

นี่คือประเภทของพล็อตที่แสดงค่าที่พอดีของตัวแปรตอบสนองบนแกน y และค่าของปัจจัยแรกบนแกน x ในขณะเดียวกัน เส้นในกราฟแสดงถึงค่าของปัจจัยที่สองที่น่าสนใจ

พล็อตปฏิสัมพันธ์ในอาร์

บทช่วยสอนนี้จะอธิบายวิธีสร้างและตีความพล็อตการโต้ตอบใน R

ตัวอย่าง: โครงเรื่องปฏิสัมพันธ์ใน R

สมมติว่านักวิจัยต้องการตรวจสอบว่าความเข้มข้นของการออกกำลังกายและเพศส่งผลต่อการลดน้ำหนักหรือไม่ เพื่อทดสอบสิ่งนี้ พวกเขาคัดเลือกผู้ชาย 30 คนและผู้หญิง 30 คนเพื่อเข้าร่วมการทดลอง โดยสุ่มให้ 10 คนในจำนวนนั้นปฏิบัติตามโปรแกรมการออกกำลังกายแบบไม่ออกกำลังกาย ออกกำลังกายเบา ๆ หรือออกกำลังกายหนัก ๆ เป็นเวลาหนึ่งเดือน

ใช้ขั้นตอนต่อไปนี้เพื่อสร้างกรอบข้อมูลใน R ดำเนินการวิเคราะห์ความแปรปรวนแบบสองทาง และสร้างพล็อตการโต้ตอบเพื่อแสดงภาพเอฟเฟกต์การโต้ตอบระหว่างการออกกำลังกายและเพศ

ขั้นตอนที่ 1: สร้างข้อมูล

รหัสต่อไปนี้แสดงวิธีการสร้างกรอบข้อมูลใน R:

 #make this example reproducible
set.seed(10)

#create data frame
data <- data.frame(gender = rep (c("Male", "Female"), each = 30 ),
                   exercise = rep (c("None", "Light", "Intense"), each = 10 , times = 2 ),
                   weight_loss = c(runif(10, -3, 3), runif(10, 0, 5), runif(10, 5, 9),
                                   runif(10, -4, 2), runif(10, 0, 3), runif(10, 3, 8)))

#view first six rows of data frame
head(data)

  gender exercise weight_loss
1 Male None 0.04486922
2 Male None -1.15938896
3 Male None -0.43855400
4 Male None 1.15861249
5 Male None -2.48918419
6 Male None -1.64738030

ขั้นตอนที่ 2: ติดตั้งโมเดล ANOVA แบบสองทาง

รหัสต่อไปนี้แสดงวิธีปรับการวิเคราะห์ความแปรปรวนแบบสองทางให้พอดีกับข้อมูล:

 #fit the two-way ANOVA model
model <- aov(weight_loss ~ gender * exercise, data = data)

#view the model output
summary(model)

# Df Sum Sq Mean Sq F value Pr(>F)    
#gender 1 15.8 15.80 11.197 0.0015 ** 
#exercise 2 505.6 252.78 179.087 <2e-16 ***
#gender:exercise 2 13.0 6.51 4.615 0.0141 *  
#Residuals 54 76.2 1.41                   
#---
#Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

โปรดทราบว่าค่า p ( 0.0141 ) สำหรับเงื่อนไขปฏิสัมพันธ์ระหว่างการออกกำลังกายและเพศนั้นมีนัยสำคัญทางสถิติ ซึ่งบ่งชี้ว่ามีผลกระทบอย่างมีนัยสำคัญระหว่างปัจจัยทั้งสอง

ขั้นตอนที่ 3: สร้างพล็อตการโต้ตอบ

รหัสต่อไปนี้แสดงวิธีสร้างแผนการโต้ตอบสำหรับการออกกำลังกายและเพศ:

 interaction.plot(x.factor = data$exercise, #x-axis variable
                 trace.factor = data$gender, #variable for lines
                 response = data$weight_loss, #y-axis variable
                 fun = median, #metric to plot
                 ylab = "Weight Loss",
                 xlab = "Exercise Intensity",
                 col = c("pink", "blue"),
                 lty = 1, #line type
                 lwd = 2, #linewidth
                 trace.label = "Gender")

พล็อตปฏิสัมพันธ์ในอาร์

โดยทั่วไป หากเส้นสองเส้นของแผนภาพการโต้ตอบขนานกัน จะไม่มีผลกระทบจากการโต้ตอบ อย่างไรก็ตาม หากเส้นตัดกัน อาจมีผลกระทบจากการโต้ตอบ

จากกราฟนี้เราจะเห็นได้ว่าเส้นตัดระหว่างชายและหญิง ซึ่งบ่งชี้ว่าน่าจะมีผลกระทบต่อปฏิสัมพันธ์ระหว่างตัวแปรความเข้มข้นของการออกกำลังกายและเพศ

ซึ่งสอดคล้องกับข้อเท็จจริงที่ว่าค่า p ในผลลัพธ์ของตาราง ANOVA มีนัยสำคัญทางสถิติสำหรับเงื่อนไขการโต้ตอบในแบบจำลอง ANOVA

แหล่งข้อมูลเพิ่มเติม

วิธีดำเนินการวิเคราะห์ความแปรปรวนแบบทางเดียวใน R
วิธีดำเนินการวิเคราะห์ความแปรปรวนแบบสองทางใน R

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

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