cars.Rmd
cars
국내 출시된 30종 차량 정보를 바탕으로 중량(kg)과 연비(km/L) 관계를 파악한다.
중량 | 연비 |
---|---|
1795 | 13 |
1550 | 11 |
1235 | 15 |
1460 | 13 |
1820 | 13 |
2015 | 8 |
1220 | 13 |
1595 | 10 |
1450 | 12 |
1565 | 15 |
1325 | 13 |
890 | 16 |
1270 | 11 |
1640 | 14 |
1510 | 10 |
2165 | 11 |
1555 | 11 |
1320 | 12 |
1650 | 10 |
1405 | 12 |
1285 | 13 |
1550 | 15 |
1645 | 12 |
1990 | 11 |
1400 | 12 |
900 | 15 |
1030 | 13 |
1250 | 13 |
1720 | 9 |
1290 | 11 |
국내출시 차량 중량과 연비관계를 시각화한다.
# https://stackoverflow.com/questions/7549694/add-regression-line-equation-and-r2-on-graph
lm_eqn <- function(df){
m <- lm(연비 ~ 중량, df);
eq <- substitute(italic(y) == a + b %.% italic(x)*","~~italic(r)^2~"="~r2,
list(a = format(unname(coef(m)[1]), digits = 2),
b = format(unname(coef(m)[2]), digits = 2),
r2 = format(summary(m)$r.squared, digits = 3)))
as.character(as.expression(eq));
}
cars %>%
ggplot(aes( x = 중량, y = 연비)) +
geom_point(size = 2) +
geom_smooth(method='lm', formula= y~x, se= FALSE) +
theme_bw() +
labs(title = "국내출시 차량 중량과 연비 관계",
subtitle = "산점도(Scatter Plot)",
x = "중량 (kg)",
y = "연비 (km/L)",
caption = "출처: 통계개발원 실용통계, P78") +
geom_text(x = 1130, y = 9, label = lm_eqn(cars), parse = TRUE, size = 5)
먼저 각 변수를 살펴보자.
skim_variable | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
---|---|---|---|---|---|---|---|---|
중량 | 1483.16667 | 302.56798 | 890 | 1286.25 | 1485 | 1643.75 | 2165 | ▂▆▇▂▂ |
연비 | 12.23333 | 1.90613 | 8 | 11.00 | 12 | 13.00 | 16 | ▂▇▅▇▅ |
중량과 연비 두변수 관계를 추세선 방정식으로 파악할 수 있다.
term | estimate | std.error | statistic | p.value |
---|---|---|---|---|
(Intercept) | 17.3490577 | 1.5070522 | 11.51192 | 0.0000000 |
중량 | -0.0034492 | 0.0009963 | -3.46213 | 0.0017394 |
연비와 중량간 수식으로 표현하면 다음과 같다.
\[ \begin{aligned} \operatorname{\widehat{연비}} &= 17.34906 - 0.00345(\operatorname{중량}) \end{aligned} \]