R/mps.R

#' Отримайте перелік всіх народних депутатів
#'
#' @param key Ваш персональний ключ API, отриманий на rada4you.org
#'
#' @return Датафрейм, який містить усіх народних депутатів
#'
#' @export

mps <- function(key) {

    request <- httr::GET(url = 'https://rada4you.org/api/v1/people.json',
                         query = list(key = key))

    if(httr::status_code(request) != 200) {

      stop(
          message(paste('Помилка. Код відповіді сервера: '), httr::status_code(request)))

    } else {

      response <- httr::content(request, as = 'text')

      json <- jsonlite::fromJSON(response, flatten = TRUE)

      names(json) <- c('id', 'member_id', 'electorate', 'house', 'party',
                           'name_first', 'name_last')

      people <- data.frame(

              id = json$id,
              mp = paste(json$name_first, json$name_last),
              party = json$party,
              electorate = json$electorate,

                                            stringsAsFactors = F)

  library(magrittr)

      people$party <- people$party %>%
        stringr::str_replace_all(pattern = "Фракція Політичної партії \"НАРОДНИЙ ФРОНТ\"",
                                 replacement = 'Народний фронт') %>%
        stringr::str_replace_all(pattern = "Фракція ПАРТІЇ \"БЛОК ПЕТРА ПОРОШЕНКА\"",
                                 replacement = 'Блок Петра Порошенка') %>%
        stringr::str_replace_all(pattern = "Фракція політичної партії \"Всеукраїнське об'єднання \"Батьківщина\" у Верховній Раді України",
                                 replacement = 'ВО "Батьківщина"') %>%
        stringr::str_replace_all(pattern = "Фракція Радикальної партії Олега Ляшка" ,
                                 replacement = 'Радикальна партія Олега Ляшка') %>%
        stringr::str_replace_all(pattern = "Група \"Воля народу\"" ,
                                 replacement = 'група "Воля народу"') %>%
        stringr::str_replace_all(pattern = "Фракція Політичної партії \"Об'єднання \"САМОПОМІЧ\""  ,
                                 replacement = 'Об’єднання "Самопоміч"') %>%
        stringr::str_replace_all(pattern = "Група \"Партія \"Відродження\""  ,
                                 replacement = 'група "Відродження"') %>%
        stringr::str_replace_all(pattern = "Фракція Політичної партії \"Опозиційний блок\" у Верховній Раді України восьмого скликання",
                                 replacement = 'Опозиційний блок')

  detach(package:magrittr)

  }

  return(people)
}
savchukidze/rada4you1 documentation built on May 9, 2019, 7:38 a.m.