library(pxweb)
## pxweb 0.16.1: R tools for the PX-WEB API.
## https://github.com/ropengov/pxweb
library(tidyverse)
## ── Attaching packages
## ───────────────────────────────────────
## tidyverse 1.3.2 ──
## ✔ ggplot2 3.3.6      ✔ purrr   0.3.5 
## ✔ tibble  3.1.8      ✔ dplyr   1.0.10
## ✔ tidyr   1.2.1      ✔ stringr 1.4.1 
## ✔ readr   2.1.3      ✔ forcats 0.5.2 
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
library(ggplot2)
library(scales)
## 
## Attaching package: 'scales'
## 
## The following object is masked from 'package:purrr':
## 
##     discard
## 
## The following object is masked from 'package:readr':
## 
##     col_factor
buferlaflutningar <-pxweb_get_data( url='http://px.hagstofa.is/pxis/api/v1/is/Ibuar/buferlaflutningar/buferlaflinnanlands/buferlaflinnanlands/MAN01102.px', query = list('Ár'=c('*'), 'Aldur'=c('*'), 'Flutningssvæði'=c('*'), 'Kyn'=c('*')))
##   Downloading large query (in 6 batches):
## 
  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |============                                                          |  17%
  |                                                                            
  |=======================                                               |  33%
  |                                                                            
  |===================================                                   |  50%
  |                                                                            
  |===============================================                       |  67%
  |                                                                            
  |==========================================================            |  83%
  |                                                                            
  |======================================================================| 100%
okutaeki <- pxweb_get_data(url='http://px.hagstofa.is/pxis/api/v1/is/Umhverfi/5_samgongur/3_okutaekiogvegir/SAM03101.px', query = list('Ár'=c('*'), 'Ökutæki'=c('*')))
mannfjoldi <- pxweb_get_data(url='http://px.hagstofa.is/pxis/api/v1/is/Ibuar/mannfjoldi/2_byggdir/sveitarfelog/MAN02001.px', query = list('Sveitarfélag'=c('*'), 'Ár'=c('*'), 'Aldur'=c('-1'), 'Kyn'=c('*')))
##   Downloading large query (in 2 batches):
## 
  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |===================================                                   |  50%
  |                                                                            
  |======================================================================| 100%
mannfjoldi <- mannfjoldi %>%
  filter(Ár %in% c('2000', '2001', '2002', '2003', '2004', '2005', '2006', '2007', '2008', '2009', '2010', '2011', '2012', '2013', '2014', '2015', '2016', '2017', '2018', '2019', '2020')) %>%
  filter(Kyn %in% c('Alls')) %>%
  filter(Sveitarfélag %in% c('Alls')) %>%
  select(-c("Sveitarfélag", "Kyn"))
  
print(mannfjoldi)
##    Aldur   Ár Mannfjöldi eftir sveitarfélagi, kyni og aldri 1. janúar 1998-2022
## 1   Alls 2000                                                            279049
## 2   Alls 2001                                                            283361
## 3   Alls 2002                                                            286575
## 4   Alls 2003                                                            288471
## 5   Alls 2004                                                            290570
## 6   Alls 2005                                                            293577
## 7   Alls 2006                                                            299891
## 8   Alls 2007                                                            307672
## 9   Alls 2008                                                            315459
## 10  Alls 2009                                                            319368
## 11  Alls 2010                                                            317630
## 12  Alls 2011                                                            318452
## 13  Alls 2012                                                            319575
## 14  Alls 2013                                                            321857
## 15  Alls 2014                                                            325671
## 16  Alls 2015                                                            329100
## 17  Alls 2016                                                            332529
## 18  Alls 2017                                                            338349
## 19  Alls 2018                                                            348450
## 20  Alls 2019                                                            356991
## 21  Alls 2020                                                            364134
colnames(mannfjoldi)[colnames(mannfjoldi) == "Mannfjöldi eftir sveitarfélagi, kyni og aldri 1. janúar 1998-2022"] = "Mannfjoldi"
okutaeki <- okutaeki %>%
  filter(Ár %in% c('2000', '2001', '2002', '2003', '2004', '2005', '2006', '2007', '2008', '2009', '2010', '2011', '2012', '2013', '2014', '2015', '2016', '2017', '2018', '2019', '2020')) %>%
  filter(Ökutæki %in% c('Fólksbílar'))
  
print(okutaeki)
##      Ár    Ökutæki Skrásett ökutæki 1950-2021
## 1  2000 Fólksbílar                     158936
## 2  2001 Fólksbílar                     159865
## 3  2002 Fólksbílar                     161721
## 4  2003 Fólksbílar                     166869
## 5  2004 Fólksbílar                     175427
## 6  2005 Fólksbílar                     187442
## 7  2006 Fólksbílar                     197305
## 8  2007 Fólksbílar                     207513
## 9  2008 Fólksbílar                     209740
## 10 2009 Fólksbílar                     205338
## 11 2010 Fólksbílar                     204736
## 12 2011 Fólksbílar                     206112
## 13 2012 Fólksbílar                     210070
## 14 2013 Fólksbílar                     213113
## 15 2014 Fólksbílar                     217454
## 16 2015 Fólksbílar                     226321
## 17 2016 Fólksbílar                     240490
## 18 2017 Fólksbílar                     257100
## 19 2018 Fólksbílar                     267383
## 20 2019 Fólksbílar                     269825
## 21 2020 Fólksbílar                     269615
colnames(okutaeki)[colnames(okutaeki) == "Skrásett ökutæki 1950-2021"] = "Fjoldi_okutaekja"
buferlaflutningar <- buferlaflutningar %>%
  filter(Ár %in% c('2000', '2001', '2002', '2003', '2004', '2005', '2006', '2007', '2008', '2009', '2010', '2011', '2012', '2013', '2014', '2015', '2016', '2017', '2018', '2019', '2020')) %>%
  filter(Flutningssvæði %in% c('Alls')) %>%
  filter(Kyn %in% c('Alls')) %>%
  filter(Aldur %in% c('Alls')) %>%
  select(-c("Aldur", "Flutningssvæði", "Kyn"))
  
print(buferlaflutningar)
##      Ár Búferlaflutningar innanlands eftir kyni og aldri 1986-2021
## 1  2000                                                      48618
## 2  2001                                                      48934
## 3  2002                                                      51915
## 4  2003                                                      53281
## 5  2004                                                      56699
## 6  2005                                                      56649
## 7  2006                                                      51060
## 8  2007                                                      58186
## 9  2008                                                      49534
## 10 2009                                                      46926
## 11 2010                                                      46535
## 12 2011                                                      49398
## 13 2012                                                      48893
## 14 2013                                                      50661
## 15 2014                                                      52893
## 16 2015                                                      54068
## 17 2016                                                      55266
## 18 2017                                                      53644
## 19 2018                                                      56819
## 20 2019                                                      56354
## 21 2020                                                      64761
colnames(buferlaflutningar)[colnames(buferlaflutningar) == "Búferlaflutningar innanlands eftir kyni og aldri 1986-2021"] = "Fjoldi_flutninga"
fjoldi_okutaekja <- okutaeki %>%
  filter(Ökutæki %in% c('Fólksbílar')) %>%
  select(-c("Ökutæki")) %>%
  group_by(Ár)
print(fjoldi_okutaekja)
## # A tibble: 21 × 2
## # Groups:   Ár [21]
##    Ár    Fjoldi_okutaekja
##    <chr>            <dbl>
##  1 2000            158936
##  2 2001            159865
##  3 2002            161721
##  4 2003            166869
##  5 2004            175427
##  6 2005            187442
##  7 2006            197305
##  8 2007            207513
##  9 2008            209740
## 10 2009            205338
## # … with 11 more rows
flutningar_alls <- buferlaflutningar %>%
  group_by(Ár)
print(flutningar_alls)
## # A tibble: 21 × 2
## # Groups:   Ár [21]
##    Ár    Fjoldi_flutninga
##    <chr>            <dbl>
##  1 2000             48618
##  2 2001             48934
##  3 2002             51915
##  4 2003             53281
##  5 2004             56699
##  6 2005             56649
##  7 2006             51060
##  8 2007             58186
##  9 2008             49534
## 10 2009             46926
## # … with 11 more rows
mannfjoldi_eftir_arum <- mannfjoldi %>%
  select(-c("Aldur"))

print(mannfjoldi_eftir_arum)
##      Ár Mannfjoldi
## 1  2000     279049
## 2  2001     283361
## 3  2002     286575
## 4  2003     288471
## 5  2004     290570
## 6  2005     293577
## 7  2006     299891
## 8  2007     307672
## 9  2008     315459
## 10 2009     319368
## 11 2010     317630
## 12 2011     318452
## 13 2012     319575
## 14 2013     321857
## 15 2014     325671
## 16 2015     329100
## 17 2016     332529
## 18 2017     338349
## 19 2018     348450
## 20 2019     356991
## 21 2020     364134
library(RSQLite)
library(DBI)

con <- dbConnect(RSQLite::SQLite(), ":memory:")
dbWriteTable(con, "Mannfjöldi eftir árum", mannfjoldi_eftir_arum, overwrite = TRUE)
dbWriteTable(con, "Fjöldi flutninga", flutningar_alls, overwrite = TRUE)
dbWriteTable(con, "Fjöldi ökutækja", fjoldi_okutaekja, overwrite = TRUE)

dbListTables(con)
## [1] "Fjöldi flutninga"      "Fjöldi ökutækja"       "Mannfjöldi eftir árum"
ggplot(flutningar_alls, aes(x = Ár, y = Fjoldi_flutninga, width = 0.4)) + geom_col(fill = "royalblue") + labs(x="Ár", y="Fjöldi flutninga") + ggtitle(label="Búferlaflutningar 2000 - 2020") + theme(plot.title = element_text(hjust=0.5))

ggplot(fjoldi_okutaekja, aes(x = Ár, y = Fjoldi_okutaekja, width = 0.5)) + geom_col(fill = "darkslategray") + labs(x="Ár", y="Fjöldi ökutækja") + ggtitle(label="Fjöldi ökutækja 2000 - 2020") + theme(plot.title = element_text(hjust=0.5))

ggplot(mannfjoldi_eftir_arum, aes(x = Ár, y = Mannfjoldi, width = 0.5)) + geom_col(fill = "darkolivegreen3") + labs(x="Ár", y="Mannfjöldi") + ggtitle(label="Mannfjöldi 2000 - 2020") + theme(plot.title = element_text(hjust=0.5))