R/electio.R

#' @title Refernce Class for Election Data
#' @description Reference Class analyzing election data
#' @field formula Formula
#' @export electio
#' @export
#' 
#path <- "2014_landstingsval_per_kommun.xls"
electio <- setRefClass("electio",
                       fields = list(path = "character", elect = "data.frame"),
                       methods = list(
                         initialize = function(path){
                           # Library packages for fetching data
                           library(readxl)
                           library(httr)
                           url <- paste("www.val.se/val/val2014/statistik/",path, sep="")
                           GET(url, write_disk(tdf <- tempfile(fileext = ".xls")))
                           elect <<- read_excel(tdf, skip = 2)
                           #electio <<- datafr
                           #print(datafr)
                         },
                         get_Data = function(){
                           return(elect)
                         },
                         get_Mtal= function(){
                           stopifnot(get_Mtal == elect$`M tal`)
                           return(get_Mtal)
                         },
                        get_Ctal= function(){
                          stopifnot(get_Ctal == elect$`C tal`)
                          return(get_Ctal)
                        },
                        get_FPtal= function(){
                          stopifnot(get_FPtal == elect$`FP tal`)
                          return(get_FPtal)
                        },
                        get_KDtal= function(){
                          stopifnot(get_KDtal == elect$`KD tal`)
                          return(get_KDtal)
                        },
                        get_Stal = function(){
                          stopifnot( get_Stal == elect$`S tal`)
                          return(get_Stal)
                        },
                        get_Vtal= function(){
                          stopifnot(get_Vtal == elect$`V tal`)
                          return(get_Vtal)
                        },
                        get_MPtal= function(){
                         stopifnot(get_MPtal == elect$`MP tal`)
                          return(get_MPtal)
                        },
                        get_SDtal= function(){
                          stopifnot(get_SDtal == elect$`SD tal`)
                          return(get_SDtal)
                        },
                        get_FItal= function(){
                          stopifnot(get_FItal == elect$`FI tal`)
                          return(get_FItal)
                        },
                        calc_mean_mproc = function(){
                          mean_mproc <- mean(elect$`M proc`)
                          return(round(mean_mproc,3))
                        },
                        calc_mean_cproc = function(){
                          mean_cproc <- mean(elect$`C proc`)
                          return(round(mean_cproc,3))
                        },
                        calc_mean_fpproc = function(){
                          mean_fpproc <- mean(elect$`FP proc`)
                          return(round(mean_fpproc,3))
                        },
                        calc_mean_kdproc = function(){
                          mean_kdproc <- mean(elect$`KD proc`)
                          return(round(mean_kdproc,3))
                        },
                        calc_mean_sproc = function(){
                          mean_sproc <- mean(elect$`S proc`)
                          return(round(mean_sproc,3))
                        },
                        get_dim = function(){
                          dim_datafr <- dim(elect)
                          return(dim_datafr)
                        },
                        get_nrow = function(){
                          nrow_datafr <- nrow(elect)
                          return(nrow_datafr)
                        },
                        get_ncol = function(){
                          ncol_datafr <- ncol(elect)
                          return(ncol_datafr)
                        }
                       ))

#test_exempel <- electio$new("2014_landstingsval_per_kommun.xls")
afuergut/lib5af documentation built on May 31, 2019, 8:40 a.m.