-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathAS04_join_edu_data.Rmd
More file actions
131 lines (97 loc) · 5.21 KB
/
AS04_join_edu_data.Rmd
File metadata and controls
131 lines (97 loc) · 5.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
---
title: "AS04_join_edu_data"
author: "Jilung Hsieh"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r}
library(tidyverse)
# options(stringsAsFactors = F)
```
這個作業希望你去處理教育相關資料,並和課堂中的公投資料串接,最後繪製出368個鄉鎮的教育程度與公投同意比例的相關散布圖(Scatter)。你會使用到兩筆資料,一個是教育資料`opendata107Y020.csv`,另一個是我們在課堂中操作過後所存下來的鄉鎮區等級的公投統計資料 `town_ref_stat.rda`。這個教育資料和課程中的資料一樣,都是以村里為基礎且接近寬表格的資料。每個村裡會有一個15歲以上的人口總數(`edu_age_15up_total`)和各種不一樣的教育程度(教育程度分男性和女性分開統計)。
這個作業分成三步驟,第一步驟是建立教育指標並彙整為鄉鎮市區等級的資料;第二步驟是將教育指標和公投指標串接;第三部分是繪製成Scatter以觀察教育指標和公投同意比例的相關性。
# 1. Create edu indicator
作業中要建立的指標是「**大學以上學歷佔學齡人口比例**」。除了15歲以上的人口總數(`edu_age_15up_total`)原本就有之外,你還要有一個數值是大學以上學歷人口數。才能夠計算出這個指標。
## 1.1 Data cleaning
1. 注意第一列是中文名,可以用`slice()`來將其skip掉。
2. 不見得所有變項(Columns)都會用到,只要考慮能夠計算出大學以上學歷的人口數,把它加總起來就好。
3. 目前的數字資料應該都是文字型態,要想辦法轉成數字型態。
```{r}
raw <- read_csv("../../data/opendata107Y020.csv") %>%
slice(-1)
```
```{r}
# CODE HERE
```
## 1.2 Village to town-level total people
目前的資料已經有村里層級的十五歲以上學齡人口總數,可是屆時要計算出鄉鎮市區層級的大學比例,需要分開計算出鄉鎮市區層級的十五歲以上學齡人口總數,和鄉鎮市區層級的大學學歷以上人數,然後再進行相除。所以這個步驟要從1.1的結果中,計算出鄉鎮市區層級的學齡人口總數。
```{r}
# CODE HERE
# RESULT SHOULD LIKE THIS
# # A tibble: 6 × 2
# site_id eduTotal
# <chr> <dbl>
# 1 南投縣中寮鄉 13571
# 2 南投縣仁愛鄉 13158
# 3 南投縣信義鄉 13847
# 4 南投縣南投市 87696
# 5 南投縣名間鄉 34622
# 6 南投縣國姓鄉 17132
```
## 1.3 Town-level people with university edu level
這個階段是從**1.1**的結果(不是1.2歐,你想想),彙算出鄉鎮市區層級的大學以上人口數。
```{r}
# CODE HERE
## RESULT SHOULD LIKE ..
# A tibble: 6 × 2
# site_id univ
# <chr> <dbl>
# 1 南投縣中寮鄉 1719
# 2 南投縣仁愛鄉 1343
# 3 南投縣信義鄉 1633
# 4 南投縣南投市 22957
# 5 南投縣名間鄉 5871
# 6 南投縣國姓鄉 2158
```
## 1.4 univPerc
目前**1.2**和**1.3**分別產生兩個data.frame,一個是鄉鎮市區層級的學齡人口數,一個是鄉鎮市區層級的大學以上人數,請把他們join起來,然後計算出一個新的變項叫做`univPerc`,為鄉鎮市區層級的大學以上人口比例。
```{r}
# CODE HERE
## RESULT SHOULD LIKE ..
# A tibble: 6 × 4
# site_id univ eduTotal univPerc
# <chr> <dbl> <dbl> <dbl>
# 1 南投縣中寮鄉 1719 13571 0.127
# 2 南投縣仁愛鄉 1343 13158 0.102
# 3 南投縣信義鄉 1633 13847 0.118
# 4 南投縣南投市 22957 87696 0.262
# 5 南投縣名間鄉 5871 34622 0.170
# 6 南投縣國姓鄉 2158 17132 0.126
```
# 2. Join edu and ref data
載入我們在課堂上準備好的鄉鎮市區層級的公投第十案同意比例檔案`town_ref_stat.rda`,然後串接1.4所產生的大學以上人口比例資料。
```{r}
load("town_ref_stat.rda")
# CODE HERE
# RESULT SHOULD BE ...
# # A tibble: 6 × 3
# countytown ref10 univPerc
# <chr> <dbl> <dbl>
# 1 南投縣中寮鄉 0.750 0.127
# 2 南投縣仁愛鄉 0.787 0.102
# 3 南投縣信義鄉 0.809 0.118
# 4 南投縣南投市 0.733 0.262
# 5 南投縣名間鄉 0.721 0.170
# 6 南投縣國姓鄉 0.754 0.126
```
# 3. Plot
前述步驟2串接好的鄉鎮市區層級資料,應該有公投第十案的同意比例和大學學歷以上的人口比例,請把它繪製為Scatter。
```{r}
# CODE HERE
```
# 4. Thinking
上課的案例和本作業中,我們採取aggregate-data的方式分析公投第十案同意比例和人口變項(教育、年齡、結婚狀態)間的關係。請你觀看[2018年中華民國全國性公民投票 - 維基百科,自由的百科全書](https://zh.wikipedia.org/zh-tw/2018%E5%B9%B4%E4%B8%AD%E8%8F%AF%E6%B0%91%E5%9C%8B%E5%85%A8%E5%9C%8B%E6%80%A7%E5%85%AC%E6%B0%91%E6%8A%95%E7%A5%A8)了解其他的公投案。第7、8、9、16等案都與能源相關,請嘗試構思並回答以下問題(請用Markdown格式接續撰寫):
1. 你認為哪些人口變項可能會和能源議題有關?
2. 根據你所規劃的人口變項的資料,上網找找看是否有相關的開放資料(通常都有),列出這些資料集的名稱與超鏈結。