forked from tpemartin/109-2-app101
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcpi.R
105 lines (41 loc) · 1.68 KB
/
cpi.R
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
xfun::download_file("https://www.dropbox.com/s/ouurt80t6ailbif/PR0101A2Mc.csv?dl=1", mode="wb")
library(readr)
cpi <- read_csv("PR0101A2Mc.csv",
locale = locale(encoding = "CP950"),
skip = 3)
library(dplyr)
#留下總指數與大類:
cpi_all <- cpi[1:485,]
library(magrittr)
# 用 select( ) 留下所需項目
cpi_all%<>% select("總指數","一.食物類","二.衣著類","三.居住類","四.交通及通訊類","五.醫藥保健類","六.教養娛樂類","七.雜項類")
cpi_all
# cpi_all_copy 保留原先資料
cpi_all_copy <- cpi_all
# 2.計算年物價上漲率
# cpi_all -> 原先資料 + 上漲率
cpi_all %>% mutate_all(
function(data){
for (i in seq_along(data)){
if (i <= 473){
((data[i+12]-data[i])/data[i])*100 -> data[i] }
}
data
}
) -> cpi_all$年上漲率
bind_cols(cpi_all[-c(1:12),1],cpi_all$年上漲率)
cpi_all <- cpi_all[-c(474:485),]
# 用cor.test() 得到 cor值
cor_list <- vector(mode="list",length=7)
for (i in 1:7){
cor_list[[i]] <- cor.test(unlist(cpi_all$年上漲率[,1]),unlist(cpi_all$年上漲率[,i+1]))
}
# 取出cor.test 中的 cor 值並整理成data.frame (第1大類 ~ 第7大類)
unlist_cor_list <- unlist(cor_list)
cor_number_list <- vector(mode="list",length=7)
for (i in seq_along(cor_number_list)){
cor_number_list[[i]] <- unlist_cor_list[[10*i-6]]
}
unlist_cor_number<- unlist(cor_number_list)
cor_number_frame <- cbind.data.frame(number=1:7,cor=unlist_cor_number)
cor_number_frame