-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLoadAlerts.R
113 lines (90 loc) · 5.37 KB
/
LoadAlerts.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
106
107
108
109
110
111
frenchieStrClean <- function(string){
string <- gsub("[()]| ","_", string)
string <- gsub("__", "_", string)
string <- gsub("[0-9]|[=:/.,?']","", string)
string <- gsub("_$","",string)
string <- str_squish(string)
return(string)
}
loadAlerts <- function(dataPath, pcodes_adm2){
# STEP 2 - LOAD ALERTS INTO A DATAFRAME
# 2.1 Raw Data
AlertsRaw<-read_excel(dataPath,sheet="VEILLE",col_names = TRUE,skip=6, na=c("N/A","NA"))
pcodes_adm2 <- pcodes_adm2
# 2.2 Clean Dates
namesAlert <- names(AlertsRaw)
coltypes <- namesAlert
coltypes[startsWith(namesAlert, "Date")] <- "date"
coltypes[!startsWith(namesAlert, "Date")] <- "guess"
AlertsRaw<-read_excel(dataPath,sheet="VEILLE",col_names = TRUE,col_types=coltypes, skip=6, na=c("N/A","NA", "RAS"))%>%
mutate_at(vars(starts_with("Date")), str_replace, "ç", "9")%>%
mutate_at(vars(starts_with("Date")), str_replace, ":", "/")%>%
mutate_at(vars(starts_with("Date")), as_date)
# 2.3 Clean AlertsRaw
#Rename headers
HeadersRaw <- colnames(AlertsRaw)
HeadersRaw <- iconv(HeadersRaw, from = 'UTF-8', to = 'ASCII//TRANSLIT')
HeadersRaw <- unlist(lapply(list(HeadersRaw), frenchieStrClean))
colnames(AlertsRaw)<-HeadersRaw
#Rename Circles to match it with the PCodes, according to OCHA's description of the country
AlertsRaw<-AlertsRaw%>%
dplyr::mutate(Cercle_Accueil = str_replace(Cercle_Accueil, "ABEIBARA", "Abeibara"),
Cercle_Accueil = str_replace(Cercle_Accueil, "ANDERAMBOUKANE_CER", "Anderamboukane"),
Cercle_Accueil = str_replace(Cercle_Accueil, "ANSONGO", "Ansongo"),
Cercle_Accueil = str_replace(Cercle_Accueil, "BAFOULABE", "Bafoulabe"),
Cercle_Accueil = str_replace(Cercle_Accueil, "BAMAKO", "Bamako"),
Cercle_Accueil = str_replace(Cercle_Accueil, "BANAMBA", "Banamba"),
Cercle_Accueil = str_replace(Cercle_Accueil, "BANDIAGARA", "Bandiagara"),
Cercle_Accueil = str_replace(Cercle_Accueil, "BANKASS", "Bankass"),
Cercle_Accueil = str_replace(Cercle_Accueil, "BAROUELI", "Baroueli"),
Cercle_Accueil = str_replace(Cercle_Accueil, "BLA", "Bla"),
Cercle_Accueil = str_replace(Cercle_Accueil, "BOUGOUNI", "Bougouni"),
Cercle_Accueil = str_replace(Cercle_Accueil, "BOUREM", "Bourem"),
Cercle_Accueil = str_replace(Cercle_Accueil, "DIEMA", "Diema"),
Cercle_Accueil = str_replace(Cercle_Accueil, "DIOLILA", "Dioila"),
Cercle_Accueil = str_replace(Cercle_Accueil, "DIRE", "Dire"),
Cercle_Accueil = str_replace(Cercle_Accueil, "DJENNE", "Djenne"),
Cercle_Accueil = str_replace(Cercle_Accueil, "DOUENTZA", "Douentza"),
Cercle_Accueil = str_replace(Cercle_Accueil, "GAO_CER", "Gao"),
Cercle_Accueil = str_replace(Cercle_Accueil, "GOUNDAM", "Goundam"),
Cercle_Accueil = str_replace(Cercle_Accueil, "GOURMA_RHAROUS", "Gourma-Rharous"),
Cercle_Accueil = str_replace(Cercle_Accueil, "INEKAR_CER", "Inekar"),
Cercle_Accueil = str_replace(Cercle_Accueil, "KADIOLO", "Kadiolo"),
Cercle_Accueil = str_replace(Cercle_Accueil, "KANGABA", "Kangaba"),
Cercle_Accueil = str_replace(Cercle_Accueil, "KATI", "Kati"),
Cercle_Accueil = str_replace(Cercle_Accueil, "KAYES", "Kayes"),
Cercle_Accueil = str_replace(Cercle_Accueil, "KENIEBA", "Kenieba"),
Cercle_Accueil = str_replace(Cercle_Accueil, "KIDAL_CER", "Kidal"),
Cercle_Accueil = str_replace(Cercle_Accueil, "KITA", "Kita"),
Cercle_Accueil = str_replace(Cercle_Accueil, "KOLOKANI", "Kolokani"),
Cercle_Accueil = str_replace(Cercle_Accueil, "KOLONDIEBA", "Kolondieba"),
Cercle_Accueil = str_replace(Cercle_Accueil, "KORO", "Koro"),
Cercle_Accueil = str_replace(Cercle_Accueil, "KOULIKORO", "Koulikoro"),
Cercle_Accueil = str_replace(Cercle_Accueil, "KOUTIALA", "Koutiala"),
Cercle_Accueil = str_replace(Cercle_Accueil, "MACINA", "Macina"),
Cercle_Accueil = str_replace(Cercle_Accueil, "MENAKA_CER", "Menaka"),
Cercle_Accueil = str_replace(Cercle_Accueil, "MOPTI_CER", "Mopti"),
Cercle_Accueil = str_replace(Cercle_Accueil, "NARA", "Nara"),
Cercle_Accueil = str_replace(Cercle_Accueil, "NIAFUNKE", "Niafunke"),
Cercle_Accueil = str_replace(Cercle_Accueil, "NIONO", "Niono"),
Cercle_Accueil = str_replace(Cercle_Accueil, "NIORO", "Nioro"),
Cercle_Accueil = str_replace(Cercle_Accueil, "SAN", "San"),
Cercle_Accueil = str_replace(Cercle_Accueil, "SEGOU", "Segou"),
Cercle_Accueil = str_replace(Cercle_Accueil, "SIKASSO", "Sikasso"),
Cercle_Accueil = str_replace(Cercle_Accueil, "TENENKOU", "Tenenkou"),
Cercle_Accueil = str_replace(Cercle_Accueil, "TESSALIT", "Tessalit"),
Cercle_Accueil = str_replace(Cercle_Accueil, "TINDERMENE_CER", "Tidermene"),
Cercle_Accueil = str_replace(Cercle_Accueil, "TIN-ESSAKO", "Tin-Essako"),
Cercle_Accueil = str_replace(Cercle_Accueil, "TAOUDENI_CER", "Tombouctou"), #Taoudeni is part of Tombouctou in OCHA maps
Cercle_Accueil = str_replace(Cercle_Accueil, "TOMBOUCTOU_CER", "Tombouctou"),
Cercle_Accueil = str_replace(Cercle_Accueil, "TOMINIAN", "Tominian"),
Cercle_Accueil = str_replace(Cercle_Accueil, "YANFOLILA", " Yanfolila"),
Cercle_Accueil = str_replace(Cercle_Accueil, "YELIMANE", "Yelimane"),
Cercle_Accueil = str_replace(Cercle_Accueil, "YOROSSO", "Yorosso"),
Cercle_Accueil = str_replace(Cercle_Accueil, "YOUWAROU", "Youwarou"))%>%
left_join(pcodes_adm2, by= c("Cercle_Accueil"="Admin2_Nam"))%>%
mutate(Pcode_Ad_1 = str_sub(Pcode_Ad_2, end = -3))
Alerts<-AlertsRaw%>%
dplyr::filter(!is.na(Pcode_Ad_2))
return(Alerts)
}