วิธีการสร้างแปลงความหนาแน่นของเคอร์เนลใน r (พร้อมตัวอย่าง)


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

แผนภูมิความหนาแน่นของเคอร์เนลจะคล้ายกับ ฮิสโตแกรม แต่จะดียิ่งขึ้นในการแสดงรูปร่างของการแจกแจง เนื่องจากไม่ได้รับผลกระทบจากจำนวนถังที่ใช้ในฮิสโตแกรม

เราสามารถใช้วิธีการต่อไปนี้เพื่อสร้างพล็อตความหนาแน่นของเคอร์เนลใน R:

วิธีที่ 1: สร้างพล็อตความหนาแน่นแบบหนึ่งเคอร์เนล

 #define kernel density
kd <- density(data)

#create kernel density plot
plot(kd)

วิธีที่ 2: สร้างพล็อตความหนาแน่นของเคอร์เนลที่เต็มไป

 #define kernel density
kd <- density(data)

#create kernel density plot
plot(kd)

#fill in kernel density plot with specific color
polygon(kd, col=' blue ', border=' black ')

วิธีที่ 3: สร้างแผนความหนาแน่นของเคอร์เนลหลายรายการ

 #plot first kernel density plot
kd1 <- density(data1)
plot(kd1, col=' blue ')

#plot second kernel density plot
kd2 <- density(data2)
lines(kd2, col=' red ')

#plot third kernel density plot
kd3 <- density(data3)
lines(kd3, col=' purple ')

...

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

วิธีที่ 1: สร้างพล็อตความหนาแน่นแบบหนึ่งเคอร์เนล

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

 #create data
data <- c(3, 3, 4, 4, 5, 6, 7, 7, 7, 8, 12, 13, 14, 17, 19, 19)

#define kernel density
kd <- density(data)

#create kernel density plot
plot(kd, main=' Kernel Density Plot of Data ') 

แกน x แสดงค่าในชุดข้อมูล และแกน y แสดงความถี่สัมพัทธ์ของแต่ละค่า จุดสูงสุดบนแผนภูมิบ่งบอกว่าค่าปรากฏบ่อยที่สุดที่ใด

วิธีที่ 2: สร้างพล็อตความหนาแน่นของเคอร์เนลที่เต็มไป

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

 #create data
data <- c(3, 3, 4, 4, 5, 6, 7, 7, 7, 8, 12, 13, 14, 17, 19, 19)

#define kernel density
kd <- density(data)

#create kernel density plot
plot(kd)

#add color
polygon(kd, col=' steelblue ', border=' black ')

วิธีที่ 3: สร้างแผนความหนาแน่นของเคอร์เนลหลายรายการ

รหัสต่อไปนี้แสดงวิธีการสร้างแปลงความหนาแน่นของเคอร์เนลหลายจุดในจุดเดียวใน R:

 #create datasets
data1 <- c(3, 3, 4, 4, 5, 6, 7, 7, 7, 8, 12, 13, 14, 17, 19, 19)
data2 <- c(12, 3, 14, 14, 4, 5, 6, 10, 14, 7, 7, 8, 10, 12, 17, 20)

#plot first kernel density plot
kd1 <- density(data1)
plot(kd1, col=' blue ', lwd= 2 )

#plot second kernel density plot
kd2 <- density(data2)
lines(kd2, col=' red ', lwd= 2 ) 

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

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีสร้างแปลงทั่วไปอื่น ๆ ใน R:

วิธีการพล็อต boxplot หลายอันใน R
วิธีการพล็อตฮิสโตแกรมหลายอันใน R
วิธีการวาดหลายบรรทัดใน R

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

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