วิธีวางซ้อนแผนความหนาแน่นใน ggplot2 (พร้อมตัวอย่าง)


แผนภาพความหนาแน่น เป็นวิธีที่มีประโยชน์ในการแสดงภาพการกระจายของค่าในชุดข้อมูล

บ่อยครั้งคุณอาจต้องการดูแผนที่ความหนาแน่นของตัวแปรหลายตัวพร้อมกัน โชคดีที่ทำได้ง่ายโดยใช้แพ็คเกจการแสดงข้อมูล ggplot2 ใน R โดยมีไวยากรณ์ต่อไปนี้:

 ggplot(data, aes (x=value, fill=variable)) +
  geom_density(alpha= .25 )

อาร์กิวเมนต์ อัล ฟ่าควบคุมความทึบของพล็อตความหนาแน่นแต่ละอัน สิ่งสำคัญคือต้องตั้งค่านี้ให้ต่ำกว่า 1 เพื่อให้คุณสามารถดูแผนผังความหนาแน่นแต่ละแบบที่ทับซ้อนกันได้

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

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

ขั้นแรก เรามาสร้างชุดข้อมูลปลอมที่มีตัวแปร 3 ตัวกันก่อน:

 #make this example reproducible
set. seeds (1)

#createdata
df <- data. frame (var1=rnorm(1000, mean=0, sd=1),
                 var2=rnorm(1000, mean=0, sd=3),
                 var3=rnorm(1000, mean=3, sd=2))

#view first six rows of data
head(df)

        var1 var2 var3
1 -0.6264538 3.4048953 1.2277008
2 0.1836433 3.3357955 -0.8445098
3 -0.8356286 -2.6123329 6.2394015
4 1.5952808 0.6321948 4.0385398
5 0.3295078 0.2081869 2.8883001
6 -0.8204684 -4.9879466 4.3928352

ขั้นตอนที่ 2: แปลงข้อมูลจากกว้างไปยาว

ต่อไป เราต้องแปลงข้อมูลจากรูปแบบกว้างเป็นรูปแบบยาวเพื่อให้เข้ากันได้กับ ggplot2:

 library (reshape)

#convert from wide format to long format
data <- melt(df)

#view first six rows
head(data)

  variable value
1 var1 -0.6264538
2 var1 0.1836433
3 var1 -0.8356286
4 var1 1.5952808
5 var1 0.3295078
6 var1 -0.8204684

ขั้นตอนที่ 3: สร้างแผนความหนาแน่นที่ทับซ้อนกัน

สุดท้ายนี้ เราสามารถสร้างแผนความหนาแน่นที่ซ้อนทับได้:

 library (ggplot2)

#create overlaying density plots
ggplot(data, aes (x=value, fill=variable)) +
  geom_density(alpha= .25 ) 

การซ้อนทับแปลงความหนาแน่นใน ggplot2

คุณสามารถปรับค่า อัลฟ่า เพื่อทำให้แผนผังความหนาแน่นมีความโปร่งใสมากขึ้นหรือน้อยลงก็ได้

ตัวอย่างเช่น แผนภาพจะมีลักษณะเช่นนี้หากเราเพิ่มค่าอัลฟ่า:

 library (ggplot2)

#create overlaying density plots
ggplot(data, aes (x=value, fill=variable)) +
  geom_density(alpha= .7 ) 

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

วิธีสร้างแผนภูมิแกนต์ใน R โดยใช้ ggplot2
วิธีสร้าง boxplot ที่จัดกลุ่มใน R โดยใช้ ggplot2
วิธีสร้างแปลงแบบเคียงข้างกันใน R โดยใช้ ggplot2

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

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