Oppgave: Søke gjennom PDF-er etter fødselsår til politikere i valglistene.
Formål: Koble navn fra valglister med skattelister
# URL-er til valglister pr. fylke
urlagder <- "https://www.valg.no/globalassets/dokumenter-2019/valglister-og-kandidater-2019/kommunestyrevalget-42-agder.pdf"
urlinnlandet <- "https://www.valg.no/globalassets/dokumenter-2019/valglister-og-kandidater-2019/kommunestyrevalget-34-innlandet.pdf"
urlmr <- "https://www.valg.no/globalassets/dokumenter-2019/valglister-og-kandidater-2019/del-2/kommunestyrevalget-15-more_og_romsdal.pdf"
urloslo <- "https://www.valg.no/globalassets/dokumenter-2019/valglister-og-kandidater-2019/kommunestyrevalget-03-oslo.pdf"
urlrogaland <- "https://www.valg.no/globalassets/dokumenter-2019/valglister-og-kandidater-2019/del-2/kommunestyrevalget-11-rogaland.pdf"
urltf <- "https://www.valg.no/globalassets/dokumenter-2019/valglister-og-kandidater-2019/del-2/kommunestyrevalget-54-troms_og_finnmark.pdf"
urltrøndelag <- "https://www.valg.no/globalassets/dokumenter-2019/valglister-og-kandidater-2019/del-2/kommunestyrevalget-50-trondelag.pdf"
urlvt <- "https://www.valg.no/globalassets/dokumenter-2019/valglister-og-kandidater-2019/del-2/kommunestyrevalget-38-vestfold_og_telemark.pdf"
urlvestland <- "https://www.valg.no/globalassets/dokumenter-2019/valglister-og-kandidater-2019/del-2/kommunestyrevalget-46-vestland.pdf"
urlnordland <- "https://www.valg.no/globalassets/dokumenter-2019/valglister-og-kandidater-2019/del-2/kommunestyrevalget-18-nordland.pdf"
urlviken <- "https://www.valg.no/globalassets/dokumenter-2019/valglister-og-kandidater-2019/del-2/kommunestyrevalget-30-viken.pdf"
library(pdftools)
## Warning: package 'pdftools' was built under R version 3.5.2
library(stringr)
skatt <- read.csv("C:/Users/n633164/OneDrive - NRK/Databaser/politikk/skatt_ordførere.csv", stringsAsFactors = FALSE, fileEncoding = "UTF-8")
skatt[,11] <- NULL
head(skatt)
## fylke nytt_komnr ny_kommune fornavn mellomnavn etternavn
## 1 Oslo 301 Oslo Marianne Borgen
## 2 Rogaland 1101 Eigersund Odd Stangeland
## 3 Rogaland 1103 Stavanger Kari Nessa Nordtun
## 4 Rogaland 1106 Haugesund Arne-Christian Mohn
## 5 Rogaland 1108 Sandnes Stanley Wirak
## 6 Rogaland 1111 Sokndal Jonas Andersen Sayed
## parti gml_komnr gml_kommune gjenvalgt
## 1 SV 301 Oslo x
## 2 Ap 1101 Eigersund x
## 3 Ap 1103 Stavanger
## 4 Ap 1106 Haugesund x
## 5 Ap 1102 Sandnes x
## 6 KrF 1111 Sokndal
agder <- subset(skatt, skatt[,1] == "Agder")
agder
## fylke nytt_komnr ny_kommune fornavn mellomnavn etternavn
## 212 Agder 4201 Risør Per Kristian Lunden
## 213 Agder 4202 Grimstad Beate Skretting
## 214 Agder 4203 Arendal Robert Cornels Nordli
## 215 Agder 4204 Kristiansand Jan Oddvar Skisland
## 216 Agder 4205 Lindesnes Even Tronstad Sagebakken
## 217 Agder 4206 Farsund Arnt Abrahamsen
## 218 Agder 4207 Flekkefjord Torbjørn Klungland
## 219 Agder 4211 Gjerstad Inger Haldis Løite
## 220 Agder 4212 Vegårshei Kjetil Torp
## 221 Agder 4213 Tvedestrand Marianne Landaas
## 222 Agder 4214 Froland Ove Gundersen
## 223 Agder 4215 Lillesand Einar Holmer Hoven
## 224 Agder 4216 Birkenes Gyro Heia
## 225 Agder 4217 Åmli Bjørn Gunnar Baas
## 226 Agder 4218 Iveland Gro Anita Mykjåland
## 227 Agder 4219 Evje og Hornnes Svein Arne Haugen
## 228 Agder 4220 Bygland Sigbjørn Fossdal
## 229 Agder 4221 Valle Steinar Kyrvestad
## 230 Agder 4222 Bykle Jon Rolf Næss
## 231 Agder 4223 Vennesla Nils Olav Larsen
## 232 Agder 4224 Åseral Inger Lise Lund Stulien
## 233 Agder 4225 Lyngdal Jan Kristensen
## 234 Agder 4226 Hægebostad Margrethe Handeland
## 235 Agder 4227 Kvinesdal Per Sverre Kvinlaug
## 236 Agder 4228 Sirdal Jonny Liland
## parti gml_komnr gml_kommune gjenvalgt
## 212 Ap 901 Risør x
## 213 H 904 Grimstad
## 214 Ap 906 Arendal x
## 215 Ap 1001 Kristiansand
## 216 Ap 1002 Mandal
## 217 Ap 1003 Farsund x
## 218 Frp 1004 Flekkefjord
## 219 Ap 911 Gjerstad x
## 220 KrF 912 Vegårshei
## 221 H 914 Tvedestrand
## 222 KrF 919 Froland x
## 223 H 926 Lillesand
## 224 Sp 928 Birkenes
## 225 Sp 929 Åmli
## 226 Sp 935 Iveland x
## 227 Ap 937 Evje og Hornnes
## 228 Ap 938 Bygland
## 229 Ap 940 Valle x
## 230 Ap 941 Bykle x
## 231 KrF 1014 Vennesla x
## 232 Ap 1026 Åseral
## 233 H 1032 Lyngdal x
## 234 Sp 1034 Hægebostad x
## 235 KrF 1037 Kvinesdal x
## 236 Ap 1046 Sirdal
#Les inn pdf med alle valglister i Agder
doc <- pdf_text(urlagder)
head(doc, 1)
## [1] "Kommunestyre- og fylkestingsvalget 2019\r\nValglister med kandidater\r\nKommunestyrevalget 2019 i Risør\r\nValglistens navn: Kristelig Folkeparti Status: Godkjent av valgstyret\r\n Kandidatnr. Navn Fødselsår Bosted Stilling\r\n 1 Lill Jorunn Bredal Larsen 1949\r\n 2 Bjørn Helge Dahle 1961\r\n 3 Reidun Hansen 1971\r\n 4 Svein Andresen 1965\r\n 5 Hanna Homme 1992\r\n 6 Nils Kristian Kirkedam 1943\r\n 7 Ingunn Kari Mork Bjørndal 1945\r\n 8 Hilde Anfinsen 1969\r\n 9 Makda Solomon Araya 1990\r\n 10 Elisabeth Gundersen 1963\r\n 11 Marianne Regine Gundersen 1942\r\n 12 Henny Hellerdal 1954\r\n05.06.2019 10:09:01 Lister og kandidater Side 1\r\n"
Skriv kode som henter ut ett navn med rett fødselsår.
Oppgave: Finn Per Kristian Lunden i Risør
finn.navn<- str_locate_all(pattern = "Per Kristian Lunden", doc)
finn.navn
## [[1]]
## start end
##
## [[2]]
## start end
## [1,] 329 347
##
## [[3]]
## start end
##
## [[4]]
## start end
##
## [[5]]
## start end
##
## [[6]]
## start end
##
## [[7]]
## start end
##
## [[8]]
## start end
##
## [[9]]
## start end
##
## [[10]]
## start end
##
## [[11]]
## start end
##
## [[12]]
## start end
##
## [[13]]
## start end
##
## [[14]]
## start end
##
## [[15]]
## start end
##
## [[16]]
## start end
##
## [[17]]
## start end
##
## [[18]]
## start end
##
## [[19]]
## start end
##
## [[20]]
## start end
##
## [[21]]
## start end
##
## [[22]]
## start end
##
## [[23]]
## start end
##
## [[24]]
## start end
##
## [[25]]
## start end
##
## [[26]]
## start end
##
## [[27]]
## start end
##
## [[28]]
## start end
##
## [[29]]
## start end
##
## [[30]]
## start end
##
## [[31]]
## start end
##
## [[32]]
## start end
##
## [[33]]
## start end
##
## [[34]]
## start end
##
## [[35]]
## start end
##
## [[36]]
## start end
##
## [[37]]
## start end
##
## [[38]]
## start end
##
## [[39]]
## start end
##
## [[40]]
## start end
##
## [[41]]
## start end
##
## [[42]]
## start end
##
## [[43]]
## start end
##
## [[44]]
## start end
##
## [[45]]
## start end
##
## [[46]]
## start end
##
## [[47]]
## start end
##
## [[48]]
## start end
##
## [[49]]
## start end
##
## [[50]]
## start end
##
## [[51]]
## start end
##
## [[52]]
## start end
##
## [[53]]
## start end
##
## [[54]]
## start end
##
## [[55]]
## start end
##
## [[56]]
## start end
##
## [[57]]
## start end
##
## [[58]]
## start end
##
## [[59]]
## start end
##
## [[60]]
## start end
##
## [[61]]
## start end
##
## [[62]]
## start end
##
## [[63]]
## start end
##
## [[64]]
## start end
##
## [[65]]
## start end
##
## [[66]]
## start end
##
## [[67]]
## start end
##
## [[68]]
## start end
##
## [[69]]
## start end
##
## [[70]]
## start end
##
## [[71]]
## start end
##
## [[72]]
## start end
##
## [[73]]
## start end
##
## [[74]]
## start end
##
## [[75]]
## start end
##
## [[76]]
## start end
##
## [[77]]
## start end
##
## [[78]]
## start end
##
## [[79]]
## start end
##
## [[80]]
## start end
##
## [[81]]
## start end
##
## [[82]]
## start end
##
## [[83]]
## start end
##
## [[84]]
## start end
##
## [[85]]
## start end
##
## [[86]]
## start end
##
## [[87]]
## start end
##
## [[88]]
## start end
##
## [[89]]
## start end
##
## [[90]]
## start end
##
## [[91]]
## start end
##
## [[92]]
## start end
##
## [[93]]
## start end
##
## [[94]]
## start end
##
## [[95]]
## start end
##
## [[96]]
## start end
##
## [[97]]
## start end
##
## [[98]]
## start end
##
## [[99]]
## start end
##
## [[100]]
## start end
##
## [[101]]
## start end
##
## [[102]]
## start end
##
## [[103]]
## start end
##
## [[104]]
## start end
##
## [[105]]
## start end
##
## [[106]]
## start end
##
## [[107]]
## start end
##
## [[108]]
## start end
##
## [[109]]
## start end
##
## [[110]]
## start end
##
## [[111]]
## start end
##
## [[112]]
## start end
##
## [[113]]
## start end
##
## [[114]]
## start end
##
## [[115]]
## start end
##
## [[116]]
## start end
##
## [[117]]
## start end
##
## [[118]]
## start end
##
## [[119]]
## start end
##
## [[120]]
## start end
##
## [[121]]
## start end
##
## [[122]]
## start end
##
## [[123]]
## start end
##
## [[124]]
## start end
##
## [[125]]
## start end
##
## [[126]]
## start end
##
## [[127]]
## start end
##
## [[128]]
## start end
##
## [[129]]
## start end
##
## [[130]]
## start end
##
## [[131]]
## start end
##
## [[132]]
## start end
##
## [[133]]
## start end
##
## [[134]]
## start end
##
## [[135]]
## start end
##
## [[136]]
## start end
##
## [[137]]
## start end
##
## [[138]]
## start end
##
## [[139]]
## start end
##
## [[140]]
## start end
##
## [[141]]
## start end
##
## [[142]]
## start end
##
## [[143]]
## start end
##
## [[144]]
## start end
##
## [[145]]
## start end
##
## [[146]]
## start end
##
## [[147]]
## start end
##
## [[148]]
## start end
##
## [[149]]
## start end
##
## [[150]]
## start end
##
## [[151]]
## start end
##
## [[152]]
## start end
##
## [[153]]
## start end
##
## [[154]]
## start end
##
## [[155]]
## start end
##
## [[156]]
## start end
##
## [[157]]
## start end
##
## [[158]]
## start end
##
## [[159]]
## start end
##
## [[160]]
## start end
##
## [[161]]
## start end
##
## [[162]]
## start end
##
## [[163]]
## start end
##
## [[164]]
## start end
##
## [[165]]
## start end
##
## [[166]]
## start end
##
## [[167]]
## start end
##
## [[168]]
## start end
##
## [[169]]
## start end
##
## [[170]]
## start end
##
## [[171]]
## start end
##
## [[172]]
## start end
##
## [[173]]
## start end
##
## [[174]]
## start end
##
## [[175]]
## start end
##
## [[176]]
## start end
##
## [[177]]
## start end
##
## [[178]]
## start end
##
## [[179]]
## start end
##
## [[180]]
## start end
##
## [[181]]
## start end
##
## [[182]]
## start end
##
## [[183]]
## start end
##
## [[184]]
## start end
##
## [[185]]
## start end
##
## [[186]]
## start end
##
## [[187]]
## start end
##
## [[188]]
## start end
##
## [[189]]
## start end
##
## [[190]]
## start end
##
## [[191]]
## start end
##
## [[192]]
## start end
##
## [[193]]
## start end
##
## [[194]]
## start end
##
## [[195]]
## start end
##
## [[196]]
## start end
##
## [[197]]
## start end
##
## [[198]]
## start end
##
## [[199]]
## start end
##
## [[200]]
## start end
##
## [[201]]
## start end
##
## [[202]]
## start end
##
## [[203]]
## start end
##
## [[204]]
## start end
##
## [[205]]
## start end
##
## [[206]]
## start end
##
## [[207]]
## start end
##
## [[208]]
## start end
##
## [[209]]
## start end
##
## [[210]]
## start end
##
## [[211]]
## start end
##
## [[212]]
## start end
##
## [[213]]
## start end
##
## [[214]]
## start end
##
## [[215]]
## start end
##
## [[216]]
## start end
##
## [[217]]
## start end
##
## [[218]]
## start end
liste <- doc[2]
navn <- substring(liste, 329, 347)
navn
## [1] "Per Kristian Lunden"
start <- 329
slutt <- 347
aarstart <- slutt + 11
aarslutt <- slutt + 40
aar <- substring(liste, aarstart, aarslutt)
aar <- trimws(aar)
aar <- substring(aar, 1, 4)
aar
## [1] "1957"
kommune <- str_locate_all(pattern = "Kommunestyrevalget 2019 i ", liste)
kommune
## [[1]]
## start end
## [1,] 69 94
str(kommune)
## List of 1
## $ : int [1, 1:2] 69 94
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : NULL
## .. ..$ : chr [1:2] "start" "end"
komslutt <- kommune[[1]][2]
komslutt
## [1] 94
komnavnstart <- komslutt + 1
komnavnslutt <- komslutt + 15
kommune <- substring(liste, komnavnstart, komnavnslutt)
kommune
## [1] "Risør\r\nValglist"
kommune <- strsplit(kommune, "\\r")[[1]][1]
kommune
## [1] "Risør"
treff <- c(navn, aar, kommune)
treff
## [1] "Per Kristian Lunden" "1957" "Risør"
Løsning: Skrive en generisk funksjon
fylker <- as.character(unique(skatt[,1]))
fylker
## [1] "Oslo" "Rogaland" "Møre og Romsdal"
## [4] "Nordland" "Viken" "Innlandet"
## [7] "Vestfold og Telemark" "Agder" "Vestland"
## [10] "Trøndelag" "Troms og Finnmark"
fylke <- subset(skatt, skatt[,1] == fylker[8])
fylkesnavn <- as.character(fylke[,6])
fylkesnavn
## [1] "Lunden" "Skretting" "Nordli" "Skisland" "Sagebakken"
## [6] "Abrahamsen" "Klungland" "Løite" "Torp" "Landaas"
## [11] "Gundersen" "Hoven" "Heia" "Baas" "Mykjåland"
## [16] "Haugen" "Fossdal" "Kyrvestad" "Næss" "Larsen"
## [21] "Stulien" "Kristensen" "Handeland" "Kvinlaug" "Liland"
test <- grep("Lunden", doc)
test
## [1] 2 19 108 182 191
get.names <- function(navn) {
lister <- grep(navn, doc)
treff <- character()
for (i in lister) {
liste <- doc[i]
where <- str_locate_all(pattern = navn, liste)
start <- where[[1]][1]
slutt <- where[[1]][,2][1]
navn <- substring(liste, start, slutt)
aarstart <- slutt + 11
aarslutt <- slutt + 40
aar <- substring(liste, aarstart, aarslutt)
aar <- strsplit(aar, "\\r")[[1]][1]
aar <- trimws(aar)
aar <- substring(aar, 1, 4)
kom <- str_locate_all(pattern = "Kommunestyrevalget 2019 i ", liste)
komslutt <- kom[[1]][2]
komnavnstart <- komslutt + 1
komnavnslutt <- komslutt + 15
komnavn <- substring(liste, komnavnstart, komnavnslutt)
komnavn <- strsplit(komnavn, "\\r")[[1]][1]
n <- c(navn, aar, komnavn)
treff <- c(treff, n)
}
treff <- t(as.data.frame(matrix(treff, nrow = 3)))
return(treff)
}
Loop gjennom alle listene i Agder og summer opp funnene.
res <- data.frame()
for (k in fylkesnavn) {
r <- get.names(k)
res <- rbind(res, r)
}
res
## V1 V2 V3
## V1 Lunden 1957 Risør
## V2 Lunden 1982 Grimstad
## V3 Lunden 1959 Gjerstad
## V4 Lunden 1964 Vennesla
## V5 Lunden 1987 Lyngdal
## V11 Skretting 1979 Grimstad
## V21 Skretting 1982 Farsund
## V12 Nordli 1952 Grimstad
## V22 Nordli 1976 Arendal
## V31 Nordli 1989 Lillesand
## V41 Nordli 1946 Lillesand
## V51 Nordli 1983 Vennesla
## V13 Skisland 1958 Kristiansand
## V23 Skisland 1969 Iveland
## V14 Sagebakken 1988 Arendal
## V24 Sagebakken 1977 Lindesnes
## V15 Abrahamsen 1959 Lindesnes
## V25 Abrahamsen 1972 Farsund
## V32 Abrahamsen 1953 Farsund
## V42 Abrahamsen 1965 Farsund
## V52 Abrahamsen 1951 Lillesand
## V6 Abrahamsen 1992 Vennesla
## V16 Klungland 1973 Flekkefjord
## V26 Klungland 1977 Hægebostad
## V33 Klungland 1972 Hægebostad
## V43 Klungland 1966 Kvinesdal
## V17 Løite 1958 Gjerstad
## V18 Torp 1961 Arendal
## V27 Torp 1961 Vegårshei
## V34 Torp 1993 Tvedestrand
## V19 Landaas 1957 Tvedestrand
## V110 Gundersen 1963 Risør
## V28 Gundersen 1952 Risør
## V35 Gundersen 1986 Grimstad
## V44 Gundersen 1950 Grimstad
## V53 Gundersen 1973 Grimstad
## V61 Gundersen 1963 Arendal
## V7 Gundersen 1957 Arendal
## V8 Gundersen 2001 Arendal
## V9 Gundersen 1983 Arendal
## V10 Gundersen 1986 Arendal
## V111 Gundersen 1972 Kristiansand
## V121 Gundersen 1971 Kristiansand
## V131 Gundersen 1976 Kristiansand
## V141 Gundersen 1971 Kristiansand
## V151 Gundersen 1976 Kristiansand
## V161 Gundersen 1988 Flekkefjord
## V171 Gundersen 1974 Tvedestrand
## V181 Gundersen 1955 Froland
## V191 Gundersen 1943 Vennesla
## V20 Gundersen 1960 Åseral
## V211 Gundersen 1970 Lyngdal
## V221 Gundersen 1961 Lyngdal
## V112 Hoven 1971 Lillesand
## V113 Heia 1981 Birkenes
## V29 Heia 1969 Bygland
## V114 Baas 1977 Åmli
## V115 Mykjåland 1976 Iveland
## V116 Haugen 1948 Kristiansand
## V210 Haugen 1956 Kristiansand
## V36 Haugen 1983 Kristiansand
## V45 Haugen 1980 Farsund
## V54 Haugen 1987 Gjerstad
## V62 Haugen 1959 Vegårshei
## V71 Haugen 1976 Tvedestrand
## V81 Haugen 1968 Evje og Hornnes
## V91 Haugen 1974 Bykle
## V101 Haugen 1961 Bykle
## V117 Haugen 1978 Sirdal
## V122 Haugen 1967 Sirdal
## V118 Fossdal 1975 Tvedestrand
## V212 Fossdal 1955 Bygland
## V37 Fossdal 1985 Kvinesdal
## V119 Kyrvestad 1955 Valle
## V120 Næss 1982 Grimstad
## V213 Næss 1955 Kristiansand
## V38 Næss 1982 Kristiansand
## V46 Næss 1981 Kristiansand
## V55 Næss 1972 Kristiansand
## V63 Næss 1962 Bykle
## V123 Larsen 1949 Risør
## V214 Larsen 1966 Risør
## V39 Larsen 1962 Risør
## V47 Larsen 1995 Risør
## V56 Larsen 1946 Grimstad
## V64 Larsen 1966 Grimstad
## V72 Larsen 1943 Grimstad
## V82 Larsen 1953 Arendal
## V92 Larsen 1972 Arendal
## V102 Larsen 1988 Arendal
## V1110 Larsen 1972 Kristiansand
## V124 Larsen 1994 Kristiansand
## V132 Larsen 1980 Kristiansand
## V142 Larsen 1987 Kristiansand
## V152 Larsen 1950 Kristiansand
## V162 Larsen 1983 Kristiansand
## V172 Larsen 1975 Kristiansand
## V182 Larsen 1958 Lindesnes
## V192 Larsen 1956 Lindesnes
## V201 Larsen 195 Lindesnes
## V215 Larsen 1965 Lindesnes
## V222 Larsen 1977 Farsund
## V231 Larsen 1972 Farsund
## V241 Larsen 1979 Farsund
## V251 Larsen 1980 Flekkefjord
## V261 Larsen 1980 Flekkefjord
## V271 Larsen 1950 Flekkefjord
## V281 Larsen 1984 Tvedestrand
## V291 Larsen 1952 Tvedestrand
## V30 Larsen 1988 Lillesand
## V311 Larsen 2000 Lillesand
## V321 Larsen 1947 Bygland
## V331 Larsen 1968 Valle
## V341 Larsen 1958 Vennesla
## V351 Larsen 1963 Lyngdal
## V361 Larsen 1974 Lyngdal
## V371 Larsen 1991 Lyngdal
## V125 Stulien 1968 Åseral
## V126 Kristensen 1992 Arendal
## V216 Kristensen 1997 Kristiansand
## V310 Kristensen 1937 Kristiansand
## V48 Kristensen 1990 Kristiansand
## V57 Kristensen 1990 Lindesnes
## V65 Kristensen 1992 Flekkefjord
## V73 Kristensen 1972 Tvedestrand
## V83 Kristensen 1959 Lillesand
## V93 Kristensen 1945 Evje og Hornnes
## V103 Kristensen 1951 Vennesla
## V1111 Kristensen 1959 Lyngdal
## V127 Handeland 1962 Vennesla
## V217 Handeland 1962 Hægebostad
## V312 Handeland 1979 Hægebostad
## V128 Kvinlaug 1993 Lyngdal
## V218 Kvinlaug 1962 Lyngdal
## V313 Kvinlaug 1996 Kvinesdal
## V49 Kvinlaug 1970 Kvinesdal
## V58 Kvinlaug 1974 Kvinesdal
## V66 Kvinlaug 1956 Kvinesdal
## V129 Liland 1988 Kristiansand
## V219 Liland 1965 Flekkefjord
## V314 Liland 1978 Sirdal
## V410 Liland 1962 Sirdal
## V59 Liland 1955 Sirdal
## V67 Liland 1965 Sirdal