พฤติกรรมที่คุณเห็นเกิดจากการggplot2
จัดการกับข้อมูลที่อยู่นอกช่วงแกนของพล็อต คุณสามารถเปลี่ยนลักษณะการทำงานนี้ได้ขึ้นอยู่กับว่าคุณใช้scale_y_continuous
(หรือเทียบเท่าylim
) หรือcoord_cartesian
กำหนดช่วงแกนตามที่อธิบายไว้ด้านล่าง
library(ggplot2)
ggplot(mtcars, aes(mpg, hp)) +
geom_point()
ในโค้ดด้านล่างจุดหนึ่งที่มี hp = 335 อยู่นอกช่วง y ของพล็อต นอกจากนี้เนื่องจากเราเคยscale_y_continuous
กำหนดช่วงแกน y จุดนี้จึงไม่รวมอยู่ในสถิติอื่น ๆ หรือการวัดสรุปที่คำนวณโดย ggplot เช่นเส้นการถดถอยเชิงเส้น
ggplot(mtcars, aes(mpg, hp)) +
geom_point() +
scale_y_continuous(limits=c(0,300)) +
geom_smooth(method="lm")
Warning messages:
1: Removed 1 rows containing missing values (stat_smooth).
2: Removed 1 rows containing missing values (geom_point).
ในโค้ดด้านล่างจุดที่มี hp = 335 ยังคงอยู่นอกช่วง y ของพล็อต แต่อย่างไรก็ตามจุดนี้ยังรวมอยู่ในสถิติหรือการวัดสรุปที่ ggplot คำนวณเช่นเส้นการถดถอยเชิงเส้น เนื่องจากเราใช้coord_cartesian
กำหนดช่วงแกน y และฟังก์ชันนี้ไม่รวมจุดที่อยู่นอกช่วงพล็อตเมื่อทำการคำนวณอื่น ๆ กับข้อมูล
หากคุณเปรียบเทียบสิ่งนี้กับพล็อตก่อนหน้าคุณจะเห็นว่าเส้นถดถอยเชิงเส้นในพล็อตที่สองมีความชันที่ชันกว่าเล็กน้อยเนื่องจากจุดที่มี hp = 335 รวมอยู่ในการคำนวณเส้นการถดถอยแม้ว่าจะมองไม่เห็นในพล็อต .
ggplot(mtcars, aes(mpg, hp)) +
geom_point() +
coord_cartesian(ylim=c(0,300)) +
geom_smooth(method="lm")
y
แกนของคำถามนั้น ค่าถูก จำกัด ระหว่าง 0 ถึง 0.12 เนื่องจากฟังก์ชันนี้:ylim(0,0.12)