Boxplot เกี่ยวกับสองปัจจัยโดยใช้ ggplot2 ใน R


13

ฉันใหม่สำหรับ R และแพ็คเกจใด ๆ ใน R. ฉันดูเอกสาร ggplot2 แต่ไม่พบสิ่งนี้ ฉันต้องการพล็อตกล่องของตัวแปรboxthisที่เกี่ยวกับสองปัจจัยและf1 f2นั่นคือสมมติว่าทั้งสองf1และf2เป็นตัวแปรปัจจัยและแต่ละคนมีสองค่าและboxthisเป็นตัวแปรต่อเนื่อง ฉันต้องการที่จะได้รับ 4 boxplots บนกราฟแต่ละสอดคล้องกับหนึ่งรวมกันจากการรวมกันไปได้ว่าf1และf2สามารถใช้ ฉันคิดว่าการใช้ฟังก์ชันพื้นฐานใน R สามารถทำได้โดย

> boxplot(boxthis ~ f1 * f2 , data = datasetname) 

ขอบคุณล่วงหน้าสำหรับความช่วยเหลือใด ๆ


โปรดให้ข้อมูลตัวอย่างเพื่อที่จะได้คำตอบที่แม่นยำ
mpiktas

2
คำถามนี้น่าจะเหมาะกับ stackoverflow.com ได้ดีกว่าเนื่องจากมีสถิติเล็กน้อยโดยเฉพาะที่นี่
richiemorrisroe

คำตอบ:


23

ฉันนึกถึงสองวิธีที่จะทำให้สิ่งนี้สำเร็จ:

1. สร้างชุดค่าผสมทั้งหมดf1และf2ภายนอกggplotฟังก์ชัน -function

library(ggplot2)

df <- data.frame(f1=factor(rbinom(100, 1, 0.45), label=c("m","w")), 
                 f2=factor(rbinom(100, 1, 0.45), label=c("young","old")),
                 boxthis=rnorm(100))

df$f1f2 <- interaction(df$f1, df$f2)

ggplot(aes(y = boxthis, x = f1f2), data = df) + geom_boxplot()

ป้อนคำอธิบายรูปภาพที่นี่

2. ใช้สี / เติม / ฯลฯ

ggplot(aes(y = boxthis, x = f2, fill = f1), data = df) + geom_boxplot()

ป้อนคำอธิบายรูปภาพที่นี่


4
(+1) interaction()ผมชอบการใช้งานของ จากบันทึกย่อเราสามารถระบุgeom_boxplot(position = position_dodge(width = .9))เพื่อเพิ่มช่องว่างพิเศษระหว่างบ็อกซ์พล็อต
chl

1
คุณสามารถใช้ dodgeอาร์กิวเมนต์ในggplotฟังก์ชั่น -ggplot(aes(y = boxthis, x = f2, fill = f1, dodge=f1), data = df) + geom_boxplot()
Maciej

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.