Perilaku yang Anda lihat disebabkan oleh cara ggplot2
menangani data yang berada di luar rentang sumbu plot. Anda dapat mengubah perilaku ini bergantung pada apakah Anda menggunakan scale_y_continuous
(atau, secara ekuivalen, ylim
) atau coord_cartesian
untuk menyetel rentang sumbu, seperti yang dijelaskan di bawah ini.
library(ggplot2)
ggplot(mtcars, aes(mpg, hp)) +
geom_point()
Pada kode di bawah ini, satu titik dengan hp = 335 berada di luar rentang y plot. Selain itu, karena kami biasa scale_y_continuous
menyetel rentang sumbu y, titik ini tidak disertakan dalam statistik atau ukuran ringkasan lainnya yang dihitung oleh ggplot, seperti garis regresi linier.
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).
Pada kode di bawah ini, titik dengan hp = 335 masih berada di luar rentang y dari plot, tetapi titik ini tetap disertakan dalam statistik atau ukuran ringkasan yang dihitung ggplot, seperti garis regresi linier. Ini karena kami biasa coord_cartesian
menyetel rentang sumbu y, dan fungsi ini tidak mengecualikan titik yang berada di luar rentang plot saat melakukan penghitungan lain pada data.
Jika Anda membandingkan ini dan plot sebelumnya, Anda dapat melihat bahwa garis regresi linier pada plot kedua memiliki kemiringan yang sedikit lebih curam, karena titik dengan hp = 335 disertakan saat menghitung garis regresi, meskipun tidak terlihat di plot .
ggplot(mtcars, aes(mpg, hp)) +
geom_point() +
coord_cartesian(ylim=c(0,300)) +
geom_smooth(method="lm")
y
sumbu pada pertanyaan itu. Nilai dibatasi antara 0 dan 0,12 karena fungsi ini:ylim(0,0.12)