---
title: "주택 가격"
author: "Mine Çetinkaya-Rundel"
format: pdf
---

## 소개

이 분석에서는 2020년 11월 무렵 노스캐롤라이나 더럼의 Duke Forest 지역에서 판매된 주택 데이터를 기반으로 주택 매매가를 예측하는 모델을 구축합니다.
분석에 사용할 패키지를 먼저 불러오겠습니다.

```{r}
#| label: load-pkgs
#| code-summary: "Packages"
#| message: false

library(openintro)  # for data
library(tidyverse)  # for data wrangling and visualization
library(knitr)      # for tables
library(broom)      # for model summary
```

탐색적 데이터 분석 결과는 @sec-eda 에, 회귀 모델은 @sec-model 에 제시합니다.

<!--# ADD CITATION HERE -->

## 탐색적 데이터 분석 {#sec-eda}

데이터에는 `{r} nrow(duke_forest)`채의 주택이 있습니다.
탐색적 분석의 일부로 이 주택들의 면적과 가격 간 관계를 시각화하고 요약합니다.

### 데이터 시각화

@fig-histogram 은 `price`와 `area`의 분포를 각각 보여주는 두 개의 히스토그램입니다.

```{r}
#| label: fig-histogram
#| fig-cap: "Histograms of individual variables"
#| fig-subcap:
#|   - "Histogram of `price`s"
#|   - "Histogram of `area`s" 
#| layout-ncol: 2

ggplot(duke_forest, aes(x = price)) +
  geom_histogram(binwidth = 50000) +
  labs(title = "Histogram of prices")

ggplot(duke_forest, aes(x = area)) +
  geom_histogram(binwidth = 250) +
  labs(title = "Histogram of areas")
```

@fig-scatterplot 은 두 변수의 관계를 산점도로 보여줍니다.

```{r}
#| label: fig-scatterplot
#| fig-cap: "Scatterplot of price vs. area of houses in Duke Forest"

ggplot(duke_forest, aes(x = area, y = price)) +
  geom_point() +
  labs(title = "Price and area of houses in Duke Forest")
```

### 요약 통계

@tbl-stats 는 두 변수의 기본 요약 통계를 보여줍니다.

```{r}
#| label: tbl-stats
#| tbl-cap: "Summary statistics for price and area of houses in Duke Forest"

duke_forest %>%
  summarise(
    `Median price` = median(price),
    `IQR price` = IQR(price),
    `Median area` = median(area),
    `IQR area` = IQR(area),
    `Correlation, r` = cor(price, area)
    ) %>%
  kable(digits = c(0, 0, 0, 0, 2))
```

## 모델링 {#sec-model}

@eq-slr 에 나타난 형태의 단순 선형 회귀 모델을 적합할 수 있습니다.

\[ADD EQUATION HERE\]

@tbl-lm 은 이 모델의 회귀 결과를 보여줍니다.

```{r}
#| label: tbl-lm
#| tbl-cap: "Linear regression model for predicting price from area"

price_fit <- lm(price ~ area, data = duke_forest)
  
price_fit %>%
  tidy() %>%
  kable(digits = c(0, 0, 2, 2, 2))
```

<!--# ADD CALLOUT HERE -->

<!--# ADD SECTION HEADING FOR REFERENCES HERE -->
