표시되는 동작 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)