1 분 소요

노년층이 많은 지역은 어디일까?

#### 지역별 연령대 비율 - "노년층이 많은 지역은 어디일까?"

### 지역 변수 검토 및 전처리하기

## 변수 검토하기

class(welfare$code_region)

table(welfare$code_region)


## 전처리

# 지역 코드 목록 만들기

list_region <- data.frame(code_region = c(1:7),
                          region = c("서울",
                                     "수도권(인천/경기)",
                                     "부산/경남/울산",
                                     "대구/경북",
                                     "대전/충남",
                                     "강원/충북",
                                     "광주/점남/전북/제주도"))

list_region

# 지역명 변수 추가

welfare <- left_join(welfare, list_region, by = "code_region")

welfare %>%
  select(code_region, region) %>%
  head


### 지역별 연령대 비율 분석하기

## 지역별 연령대 비율표 만들기

region_ageg <- welfare %>%
  group_by(region, ageg) %>%
  summarise(n = n()) %>%
  mutate(tot_group = sum(n)) %>%
  mutate(pct = round(n/tot_group*100, 2))

head(region_ageg)

region_ageg <- welfare %>%
  count(region, ageg) %>%
  group_by(region) %>%
  mutate(pct = round(n/sum(n)*100, 2))


## 그래프 만들기

ggplot(data = region_ageg, aes(x = region, y = pct, fill = ageg)) +
  geom_col() + 
  coord_flip()


## 노년층 비율 높은 순으로 막대 정렬하기

# 노년층 비율 내림차순 정렬

list_order_old <- region_ageg %>%
  filter(ageg == "old") %>%
  arrange(pct)

list_order_old

# 지역별 순서 변수 만들기

order <- list_order_old$region

order

ggplot(data = region_ageg, aes(x = region, y = pct, fill = ageg)) +
  geom_col() + 
  coord_flip() +
  scale_x_discrete(limits = order)


## 연령대 순으로 막대 색깔 나열하기

class(region_ageg$ageg)

levels(region_ageg$ageg)

region_ageg$ageg <- factor(region_ageg$ageg,
                           level = c("old", "middle", "young"))
class(region_ageg$ageg)

levels(region_ageg$ageg)

ggplot(data = region_ageg, aes(x = region, y = pct, fill = ageg)) +
  geom_col() +
  coord_flip() +
  scale_x_discrete(limits = order)