空間分析 作業二

園藝碩一 R10628306 趙旻誼

*讀檔與環境建置

library(sf)
library(tmap)
library(cartography)
library(grid)
library(ggplot2)
library(reshape2)
library(units)

setwd("D:/110SA/data")
TW=st_read("Popn_TWN2.shp", options="ENCODING=BIG5",quiet=T)

x<-st_area(TW)
x2<-set_units(x,km^2)
TW$area<-x2
head(TW)

TW$POP=TW$A0A14_CNT+TW$A15A64_CNT+TW$A65UP_CNT
TW$POP2=as.numeric(TW$POP/TW$area)
TW$POP3=(TW$A65UP_CNT)/(TW$A0A14_CNT+TW$A15A64_CNT+TW$A65UP_CNT)

Q1:繪製台灣鄉鎮人口密度的面量圖 (Popn/Area) 按照Quantile分成6級,含圖例、比例尺、圖名和指北針

#(1)台灣人口密度地圖
brk<-getBreaks(v=TW$POP2,nclass=6,method = "jenks")
tm_shape(TW)+
  tm_polygons("POP2",title="人口密度",palette="-GnBu",breaks=brk,legend.hist=T)+
  tm_scale_bar(width = 0.25)+
  tm_compass(position = c(0.8,0.08))+
  tm_layout(frame=F,title="臺灣人口密度地圖",title.size = 2,title.position=c(0.55,"top"),legend.hist.size=0.5)

Q2: 在大台北地區 (含台北、新北、基隆、桃園、宜蘭等 )範圍內,以 紅色標示老年人口比例 (Age_L65/ 在top20% 的鄉鎮市區 ,繪製 大台北地區的人口老化地圖 。

#(2)大台北人口老化地圖
#不知道如何篩出大台北地區 所以是用全台的做
index<-(TW$POP3>0.2)
TW2<-TW[index,]
lyr3<-qtm(TW2, fill="red", title=">20%")
lyr_bg<-qtm(TW,fill="grey")
lyr_bg+lyr3

Q3-1:繪製boxplot。比較台灣的高密度(鄉鎮人口密度 > 10,000/km2) vs.低密度(鄉鎮人口密度 < 2,000/km2) 的老年人口比例的分布。

highpopindex=(TW$POP2>10000)
lowpopindex=(TW$POP2<2000)
highpop<-TW[highpopindex,]
lowpop<-TW[lowpopindex,]

higholdpop=(highpop$POP3)
lowoldpop=(lowpop$POP3)
  
boxplot(higholdpop,lowoldpop,names=c("高密度","低密度"),xlab="密度",ylab="老年人口比")

Q3-2:繪製 boxplot。比較台灣老/中/青年群族的鄉鎮人口數分布。

boxplot(TW$A65UP_CNT,TW$A15A64_CNT,TW$A0A14_CNT,names=c("老人","中年","青年"),xlab="群族",ylab="人口數")