R/UNPC_code.R

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")))
LuMesserschmidt/UNPC documentation built on Nov. 25, 2019, 8:17 a.m.