통계청 자료로 만든 연령대별 장래 인구 추계. (1960 ~ 2060)
다들 얘기하는 노령화 사회로의 변화를 예고하고 있다.
말그대로 100세시대, '노후'에 대한 대비는 개인의 준비 문제가 아니라 사회의 문제로 심각하게 논의되어야 할 것 같다.
library(ggplot2) library(dplyr) library(scales) library(reshape2) df <- as.data.frame(read.csv("population2.csv", header=TRUE)) head(df) df2 <- df %>% mutate(age_range2 = '0~14') df2[4:13, ]$age_range2 <- '15~64' df2[14:20, ]$age_range2 <- '65+' df2m <- melt(cbind(df2[2:12], age_range=df2$age_range2), id.vars=c('age_range')) levels(df2m$variable) <- gsub("X", "", levels(df2m$variable)) # for annotation year_total <- df2m %>% group_by(Year) %>% summarise(year_total = sum(Percentage)) age_range_total <- df2m %>% group_by(Year, age_range) %>% summarise(avg = sum(Percentage)) df2m_tmp <- left_join(age_range_total, year_total, by="Year") df2m_tmp <- df2m_tmp %>% mutate(prop = avg/year_total) df2m_tmp <- df2m_tmp %>% mutate(cumsum = cumsum(prop)) # plotting with annotation ggplot(df2m,aes(x = Year, y = Percentage, fill = age_range)) + geom_bar(position = "fill",stat = "identity", ylab='percentage', xlab='year') + scale_y_continuous(labels = percent_format()) + annotate(geom="text", x=df2m_tmp$Year, y=df2m_tmp$cumsum, label=paste0(as.character(round(df2m_tmp$prop*100, digits=1)),'%'), size=4)
댓글 없음:
댓글 쓰기