library(aidR)
library(magrittr)
library(tidyverse)
library(devtools)
un <- get(load("inst/extdata/UN-73new.RData"))
unwide <-
un %>%
select(-country_code) %>%
spread(country,vote) %>%
rename(`United States` = `United States of America`,
`United Kingdom` = `United Kingdom of Great Britain and Northern Ireland`) %>%
select(rcid,one_of(aidR::donorCountries()))
match <-
left_join(un %>%
mutate_at(vars(country),
funs(. %>% aidR::unifyCountrynames())) %>%
filter(country %in% aidR::subsaharaCountries()),
unwide,
by = c("rcid")) %>%
left_join(.,
info %>% select(rcid,date),
by = "rcid") %>%
mutate_at(vars(date),
funs(year = lubridate::year(as.Date(.))))
##################
# take into consideration abstains
match2 <-
match %>%
mutate_at(vars(vote,one_of(aidR::donorCountries())),
funs(ifelse(. == "yes",1,
ifelse(. == "abstain",0.5,
ifelse(. == "no",0,NA)))))
## TAKE THE DIFFERENCE
match3 <-
match2 %>%
mutate_at(vars(one_of(aidR::donorCountries())),
funs(abs(vote - .))) %>%
select(-vote)
match4 <-
match3 %>%
group_by(country,year) %>%
summarise_at(vars(one_of(aidR::donorCountries())),
funs(mean(.,na.rm = T)))
##############
# 3 year rolling mean
match4 <-
match3 %>%
mutate_at(vars(one_of(aidR::donorCountries())),
funs(zoo::rollapply(.,
width=3,
FUN=function(x) mean(x, na.rm=TRUE),
by=1,
by.column=TRUE,
partial=TRUE,
fill=NA,
align="right")))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.