Code
library(tidyverse)
library(readxl)
library(janitor)
library(visitalaneysluverds)
library(hagstofa)
library(arrow)
library(googledrive)
library(googlesheets4)
library(tidyverse)
library(readxl)
library(janitor)
library(visitalaneysluverds)
library(hagstofa)
library(arrow)
library(googledrive)
library(googlesheets4)
<- "https://px.hagstofa.is:443/pxis/api/v1/is/Ibuar/mannfjoldi/2_byggdir/sveitarfelog/MAN02005.px"
url <- hg_data(url) |>
mannfjoldi filter(
== "Alls",
Aldur == "Alls",
Kyn != "Alls"
Sveitarfélag |>
) collect() |>
clean_names() |>
rename(mannfjoldi = 5) |>
select(-aldur, -kyn) |>
mutate(ar = parse_number(ar))
<- read_excel("net-efnahagsreikningur.xlsx", skip = 4) |>
efnahagur clean_names() |>
fill(ar, sveitarfelag, hluti) |>
filter(
%in% c(
tegund2 "Veltufjármunir Total",
"Varanlegir rekstrarfjármunir",
"Áhættufjármunir og langtímakröfur",
"Skuldbindingar",
"Langtímaskuldir",
"Skammtímaskuldir",
"Eigið fé"
| tegund %in% c(
) "Skammtímakröfur á eigin fyrirtæki",
"Aðrir veltufjármunir"
)|>
) mutate(
tegund2 = ifelse(is.na(tegund2), tegund, tegund2) |>
str_replace(" Total", "")
|>
) select(-tegund) |>
mutate(
ar = parse_number(ar),
sveitarfelag = str_sub(sveitarfelag, start = 6)
)
efnahagur
# A tibble: 26,514 × 6
ar sveitarfelag hluti tegund3 tegund2 total
<dbl> <chr> <chr> <chr> <chr> <dbl>
1 2021 Reykjavíkurborg A_hluti <NA> Varanlegir rekstrarfjármun… 1.76e8
2 2021 Reykjavíkurborg A_hluti <NA> Áhættufjármunir og langtím… 2.37e7
3 2021 Reykjavíkurborg A_hluti <NA> Skammtímakröfur á eigin fy… 3.40e5
4 2021 Reykjavíkurborg A_hluti <NA> Aðrir veltufjármunir 1.53e7
5 2021 Reykjavíkurborg A_hluti <NA> Veltufjármunir 3.65e7
6 2021 Reykjavíkurborg A_hluti <NA> Eigið fé 9.19e7
7 2021 Reykjavíkurborg A_hluti <NA> Skuldbindingar 3.44e7
8 2021 Reykjavíkurborg A_hluti <NA> Langtímaskuldir 8.51e7
9 2021 Reykjavíkurborg A_hluti <NA> Skammtímaskuldir 2.51e7
10 2021 Reykjavíkurborg A_og_B_hluti <NA> Varanlegir rekstrarfjármun… 6.87e8
# ℹ 26,504 more rows
<- read_excel("net-rekstrarreikningur.xlsx", skip = 4) |>
rekstur clean_names() |>
fill(ar, sveitarfelag, hluti) |>
filter(
%in% c(
tegund2 "Gjöld Total",
"Tekjur Total",
"Rekstrarniðurstaða Total"
| tegund %in% c(
) "Afskriftir",
"Breyting lífeyrisskuldbindinga",
"Fjármagnsliðir",
"Óreglulegir liðir",
"Framlag Jöfnunarsjóðs",
"Skatttekjur án Jöfnunarsjóðs",
"Laun og launatengd gjöld"
)|>
) mutate(
tegund2 = ifelse(is.na(tegund2), tegund, tegund2) |>
str_replace(" Total", "")
|>
) select(-tegund) |>
mutate(
ar = parse_number(ar),
sveitarfelag = str_sub(sveitarfelag, start = 6)
)
<- read_excel("net-sjodsstreymi.xlsx", skip = 4) |>
sjodsstreymi clean_names() |>
fill(ar, sveitarfelag, hluti, tegund2) |>
mutate(
ar = parse_number(ar),
sveitarfelag = str_sub(sveitarfelag, start = 6)
|>
) filter(
%in% c(
tegund2 "Veltufé frá rekstri Total",
"Fjárfestingarhreyfingar Total") |
%in% c(
tegund "Afborganir langtímalána",
"Aðrar fjármögnunarhreyfingar",
"Tekin ný langtímalán",
"Fjárfesting í varanlegum rekstrarfjármunum"
)|>
) mutate(
tegund2 = ifelse(is.na(tegund), tegund2, tegund) |>
str_replace(" Total", "")
|>
) select(-tegund) |>
mutate(
total = coalesce(total, 0)
)
<- efnahagur |>
d select(-tegund3) |>
pivot_wider(names_from = tegund2, values_from = total) |>
inner_join(
|>
rekstur pivot_wider(names_from = tegund2, values_from = total),
by = c("ar", "sveitarfelag", "hluti")
|>
) inner_join(
|>
sjodsstreymi pivot_wider(names_from = tegund2, values_from = total),
by = c("ar", "sveitarfelag", "hluti")
)
|>
d ::skim() skimr
Name | d |
Number of rows | 2946 |
Number of columns | 28 |
_______________________ | |
Column type frequency: | |
character | 2 |
numeric | 26 |
________________________ | |
Group variables | None |
Variable type: character
skim_variable | n_missing | complete_rate | min | max | empty | n_unique | whitespace |
---|---|---|---|---|---|---|---|
sveitarfelag | 0 | 1 | 8 | 29 | 0 | 78 | 0 |
hluti | 0 | 1 | 7 | 12 | 0 | 2 | 0 |
Variable type: numeric
skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
---|---|---|---|---|---|---|---|---|---|---|
ar | 0 | 1 | 2011.36 | 5.74 | 2002 | 2006.00 | 2011.0 | 2016.00 | 2021 | ▇▇▇▇▇ |
Varanlegir rekstrarfjármunir | 0 | 1 | 6624957.10 | 36051950.54 | 5116 | 278415.25 | 799952.0 | 2850725.00 | 687356705 | ▇▁▁▁▁ |
Áhættufjármunir og langtímakröfur | 0 | 1 | 852135.07 | 3125057.05 | 0 | 51730.00 | 133711.0 | 429874.50 | 36071319 | ▇▁▁▁▁ |
Skammtímakröfur á eigin fyrirtæki | 0 | 1 | 59360.99 | 177121.77 | -303230 | 0.00 | 0.0 | 41883.25 | 3842587 | ▇▁▁▁▁ |
Aðrir veltufjármunir | 0 | 1 | 400014.33 | 1785970.70 | 0 | 20509.00 | 65826.1 | 171302.75 | 30423739 | ▇▁▁▁▁ |
Veltufjármunir | 0 | 1 | 979396.69 | 4014476.97 | 5481 | 89840.25 | 195424.0 | 578573.75 | 83647325 | ▇▁▁▁▁ |
Eigið fé | 0 | 1 | 3407509.12 | 18745034.65 | -1653340 | 242396.50 | 526680.0 | 1479685.50 | 383263977 | ▇▁▁▁▁ |
Skuldbindingar | 0 | 1 | 918557.10 | 3702651.37 | 0 | 0.00 | 55855.5 | 441199.50 | 56048014 | ▇▁▁▁▁ |
Langtímaskuldir | 0 | 1 | 3279985.20 | 17902106.72 | 0 | 62270.00 | 345244.5 | 1161922.50 | 293362724 | ▇▁▁▁▁ |
Skammtímaskuldir | 0 | 1 | 850437.52 | 3526533.76 | 205 | 43540.50 | 142088.0 | 393441.75 | 57891584 | ▇▁▁▁▁ |
Skatttekjur án Jöfnunarsjóðs | 0 | 1 | 2138379.79 | 8100306.66 | 7636 | 137077.00 | 362992.5 | 1086497.75 | 110501161 | ▇▁▁▁▁ |
Framlag Jöfnunarsjóðs | 0 | 1 | 348988.64 | 713484.53 | 0 | 64818.00 | 153872.0 | 328042.00 | 8761951 | ▇▁▁▁▁ |
Tekjur | 0 | 1 | 3416476.78 | 13131987.60 | 12600 | 262189.50 | 668481.0 | 1912667.75 | 202598663 | ▇▁▁▁▁ |
Laun og launatengd gjöld | 0 | 1 | 1663137.44 | 6233491.92 | 874 | 115040.00 | 327390.0 | 961997.75 | 99466329 | ▇▁▁▁▁ |
Breyting lífeyrisskuldbindinga | 0 | 1 | 106124.07 | 590316.00 | -1531587 | 0.00 | 3643.0 | 39447.25 | 14666288 | ▇▁▁▁▁ |
Afskriftir | 0 | 1 | 215721.42 | 1193013.54 | 0 | 11210.58 | 30666.5 | 89919.50 | 21052234 | ▇▁▁▁▁ |
Gjöld | 0 | 1 | 3215724.00 | 12196422.03 | 13862 | 257642.00 | 644912.0 | 1830874.00 | 181811243 | ▇▁▁▁▁ |
Fjármagnsliðir | 0 | 1 | -180280.93 | 2117285.13 | -99783794 | -58652.25 | -9811.5 | 2448.50 | 10505376 | ▁▁▁▁▇ |
Óreglulegir liðir | 0 | 1 | 49837.20 | 706343.64 | -6171386 | 0.00 | 0.0 | 0.00 | 20174498 | ▁▇▁▁▁ |
Rekstrarniðurstaða | 0 | 1 | 70309.06 | 1835932.97 | -71495906 | -17679.75 | 9537.0 | 62336.50 | 28027176 | ▁▁▁▇▁ |
Veltufé frá rekstri | 0 | 1 | 411437.66 | 2144372.78 | -2583086 | 13206.50 | 52313.0 | 200575.75 | 39602982 | ▇▁▁▁▁ |
Fjárfesting í varanlegum rekstrarfjármunum | 0 | 1 | -513171.39 | 2656269.07 | -48339094 | -219702.00 | -57540.5 | -13798.20 | 1599022 | ▁▁▁▁▇ |
Fjárfestingarhreyfingar | 0 | 1 | -387395.63 | 2390151.84 | -48811242 | -185058.00 | -43222.5 | -4990.00 | 29084625 | ▁▁▁▇▁ |
Tekin ný langtímalán | 0 | 1 | 398224.62 | 2112577.99 | -170501 | 0.00 | 13050.0 | 140000.00 | 44594536 | ▇▁▁▁▁ |
Afborganir langtímalána | 0 | 1 | -331787.59 | 1579268.10 | -28501261 | -146012.00 | -42950.0 | -7370.58 | 94019 | ▁▁▁▁▇ |
Aðrar fjármögnunarhreyfingar | 0 | 1 | -39852.38 | 429502.42 | -10357497 | -18051.75 | 0.0 | 3057.50 | 2709554 | ▁▁▁▇▁ |
<- c(
mulathing "Múlaþing",
"Fljótsdalshérað",
"Seyðisfjarðarkaupstaður",
"Borgarfjarðarhreppur",
"Djúpavogshreppur"
)
<- c(
sudurnesjabaer "Sandgerðisbær",
"Sveitarfélagið Garður"
)
<- c(
fjardabyggd "Breiðdalshreppur",
"Fjarðabyggð"
)
<- c(
gardabaer "Sveitarfélagið Álftanes",
"Garðabær"
)
<- d |>
d mutate(
sveitarfelag = case_match(
sveitarfelag,~ "Múlaþing",
mulathing ~ "Suðurnesjabær",
sudurnesjabaer ~ "Fjarðabyggð",
fjardabyggd ~ "Garðabær",
gardabaer ~ sveitarfelag
sveitarfelag
) )
<- d |> mutate(
d heildarskuldir = `Skuldbindingar` + `Langtímaskuldir` + `Skammtímaskuldir`,
eignir = `Varanlegir rekstrarfjármunir` + `Áhættufjármunir og langtímakröfur` + `Veltufjármunir`
)
d
# A tibble: 2,946 × 30
ar sveitarfelag hluti Varanlegir rekstrarf…¹ Áhættufjármunir og l…²
<dbl> <chr> <chr> <dbl> <dbl>
1 2021 Reykjavíkurborg A_hl… 176322020. 23656378.
2 2021 Reykjavíkurborg A_og… 687356705. 19562270.
3 2021 Kópavogsbær A_hl… 50426813 6645782
4 2021 Kópavogsbær A_og… 72724186 3492671
5 2021 Seltjarnarnesbær A_hl… 6426856 2438974
6 2021 Seltjarnarnesbær A_og… 7904716 1753980
7 2021 Garðabær A_hl… 32025217 2717438
8 2021 Garðabær A_og… 37142377 3236263
9 2021 Hafnarfjarðarkaups… A_hl… 43677510 6140126
10 2021 Hafnarfjarðarkaups… A_og… 60521291 5530969
# ℹ 2,936 more rows
# ℹ abbreviated names: ¹`Varanlegir rekstrarfjármunir`,
# ²`Áhættufjármunir og langtímakröfur`
# ℹ 25 more variables: `Skammtímakröfur á eigin fyrirtæki` <dbl>,
# `Aðrir veltufjármunir` <dbl>, Veltufjármunir <dbl>, `Eigið fé` <dbl>,
# Skuldbindingar <dbl>, Langtímaskuldir <dbl>, Skammtímaskuldir <dbl>,
# `Skatttekjur án Jöfnunarsjóðs` <dbl>, `Framlag Jöfnunarsjóðs` <dbl>, …
<- d |>
d select(
ar,
sveitarfelag,
hluti,
heildarskuldir,
eignir,tekjur = "Tekjur",
skatttekjur_an_jofnundarsjods = "Skatttekjur án Jöfnunarsjóðs",
framlag_jofnunarsjods = "Framlag Jöfnunarsjóðs",
gjold = "Gjöld",
afskriftir = "Afskriftir",
fjarmagnslidir = "Fjármagnsliðir",
oreglulegir_lidir = "Óreglulegir liðir",
rekstrarnidurstada = "Rekstrarniðurstaða",
breyting_lifeyrisskuldbindinga = "Breyting lífeyrisskuldbindinga",
afborganir_langtimalana = "Afborganir langtímalána",
tekin_ny_langtimalan = "Tekin ný langtímalán",
adrar_fjarmognunarhreyfingar = "Aðrar fjármögnunarhreyfingar",
ny_fjarfesting = "Fjárfesting í varanlegum rekstrarfjármunum",
eigid_fe = "Eigið fé",
veltufjarmunir = "Veltufjármunir",
skammtimakrofur_eigin_fyrirtaeki = "Skammtímakröfur á eigin fyrirtæki",
handbaert_fe = "Aðrir veltufjármunir",
skammtimaskuldir = "Skammtímaskuldir",
fjarfestingarhreyfingar = "Fjárfestingarhreyfingar",
nyjar_langtimaskuldir = "Tekin ný langtímalán",
launagjold = "Laun og launatengd gjöld",
veltufe = "Veltufé frá rekstri"
)
<- d |>
d group_by(sveitarfelag, ar, hluti) |>
summarise_at(
vars(heildarskuldir:veltufe),
~ 1000 * sum(.x)
|>
) ungroup()
<- d |>
d mutate(
hluti = fct_recode(
hluti,"A-hluti" = "A_hluti",
"A og B-hluti" = "A_og_B_hluti"
) )
<- read_sheet("https://docs.google.com/spreadsheets/d/1g4aY4ZDhB2NgvgqTwAS33NgVNbhkitcs3fJLQHWEi6E/edit#gid=0") gdrive_data
<- gdrive_data |>
d mutate_at(
vars(-ar, -sveitarfelag, -hluti),
~ 1000 * .x
|>
) mutate(
gjold = gjold + afskriftir
|>
) bind_rows(
d|>
) arrange(
ar, sveitarfelag, hluti )
<- d |>
d inner_join(
mannfjoldi,by = join_by(ar, sveitarfelag)
)
<- d |>
d mutate(
eiginfjarhlutfall = eigid_fe / eignir,
framlegd = tekjur - gjold + afskriftir,
framlegd_hlutf = framlegd / tekjur,
handbaert_fe_per_ibui = handbaert_fe / mannfjoldi,
heildarskuldir = heildarskuldir,
launagjold_per_ibui = launagjold / mannfjoldi,
launagjold_hlutf_gjold = launagjold / gjold,
nettoskuldir = heildarskuldir - veltufjarmunir + skammtimakrofur_eigin_fyrirtaeki,
nettoskuldir_hlutf_tekjur = nettoskuldir / tekjur,
rekstrarnidurstada_hlutf = rekstrarnidurstada / tekjur,
rekstur_3_ar = rekstrarnidurstada + lag(rekstrarnidurstada, 1) + lag(rekstrarnidurstada, 2),
tekjur_3_ar = tekjur + lag(tekjur, 1) + lag(tekjur, 2),
rekstur_3_ar_hlutf_tekjur = rekstur_3_ar / tekjur_3_ar,
skattur_a_ibua = skatttekjur_an_jofnundarsjods / mannfjoldi,
skuldahlutfall = 1 - eiginfjarhlutfall,
skuldir_hlutf_tekjur = heildarskuldir / tekjur,
skuldir_per_ibui = heildarskuldir / mannfjoldi,
veltufe_hlutf_tekjur = veltufe / tekjur,
veltufjarhlutfall = veltufjarmunir / skammtimaskuldir,
veltufe_hlutf_afborganir = veltufe / afborganir_langtimalana,
fjarf_nylan = tekin_ny_langtimalan - ny_fjarfesting,
fjarfesting_hlutf_skuldir = fjarf_nylan / heildarskuldir,
.by = c(sveitarfelag, hluti)
)
names(d)
[1] "ar" "sveitarfelag"
[3] "hluti" "tekjur"
[5] "gjold" "afskriftir"
[7] "rekstrarnidurstada" "skatttekjur_an_jofnundarsjóðs"
[9] "framlag_jofnunarsjods" "launagjold"
[11] "eignir" "veltufjarmunir"
[13] "skammtimakrofur_eigin_fyrirtaeki" "eigid_fe"
[15] "skammtimaskuldir" "heildarskuldir"
[17] "veltufe" "handbaert_fe"
[19] "afborganir_langtimalana" "tekin_ny_langtimalan"
[21] "skatttekjur_an_jofnundarsjods" "fjarmagnslidir"
[23] "oreglulegir_lidir" "breyting_lifeyrisskuldbindinga"
[25] "adrar_fjarmognunarhreyfingar" "ny_fjarfesting"
[27] "fjarfestingarhreyfingar" "nyjar_langtimaskuldir"
[29] "mannfjoldi" "eiginfjarhlutfall"
[31] "framlegd" "framlegd_hlutf"
[33] "handbaert_fe_per_ibui" "launagjold_per_ibui"
[35] "launagjold_hlutf_gjold" "nettoskuldir"
[37] "nettoskuldir_hlutf_tekjur" "rekstrarnidurstada_hlutf"
[39] "rekstur_3_ar" "tekjur_3_ar"
[41] "rekstur_3_ar_hlutf_tekjur" "skattur_a_ibua"
[43] "skuldahlutfall" "skuldir_hlutf_tekjur"
[45] "skuldir_per_ibui" "veltufe_hlutf_tekjur"
[47] "veltufjarhlutfall" "veltufe_hlutf_afborganir"
[49] "fjarf_nylan" "fjarfesting_hlutf_skuldir"
<- c(
percent_vars "Eiginfjárhlutfall",
"Framlegð sem hlutfall af tekjum",
"Handbært fé á íbúa",
"Launa- og launatengd gjöld sem hlutfall af útgjöldum",
"Nettóskuldir sem hlutfall af tekjum",
"Rekstrarniðurstaða sem hlutfall af tekjum",
"Rekstrarniðurstaða undanfarinna 3 ára sem hlutfall af tekjum",
"Skuldahlutfall",
"Skuldir sem hlutfall af tekjum",
"Veltufé frá rekstri sem hlutfall af tekjum",
"Veltufjárhlutfall"
)
<- d |>
throun_data select(
sveitarfelag,
ar,
hluti,# "Heildarskuldir" = heildarskuldir,
# "Eignir" = eignir,
# "Tekjur" = tekjur,
# "Rekstrarniðurstaða" = rekstrarnidurstada,
"Eiginfjárhlutfall" = eiginfjarhlutfall,
"Framlegð sem hlutfall af tekjum" = framlegd_hlutf,
"Handbært fé á íbúa" = handbaert_fe_per_ibui,
"Launa- og launatengd gjöld" = launagjold_per_ibui,
"Launa- og launatengd gjöld sem hlutfall af útgjöldum" = launagjold_hlutf_gjold,
"Nettóskuldir sem hlutfall af tekjum" = nettoskuldir_hlutf_tekjur,
"Rekstrarniðurstaða sem hlutfall af tekjum" = rekstrarnidurstada_hlutf,
"Rekstrarniðurstaða undanfarinna 3 ára sem hlutfall af tekjum" = rekstur_3_ar_hlutf_tekjur,
"Útsvar og fasteignaskattur á íbúa" = skattur_a_ibua,
"Skuldahlutfall" = skuldahlutfall,
"Skuldir sem hlutfall af tekjum" = skuldir_hlutf_tekjur,
"Skuldir á íbúa" = skuldir_per_ibui,
"Veltufé frá rekstri sem hlutfall af tekjum" = veltufe_hlutf_tekjur,
"Veltufjárhlutfall" = veltufjarhlutfall
|>
) pivot_longer(
c(-sveitarfelag, -ar, -hluti),
names_to = "name",
values_to = "y"
|>
) arrange(ar, hluti, sveitarfelag, name) |>
mutate(
is_percent = ifelse(
%in% percent_vars,
name TRUE,
FALSE
)
)
|>
throun_data write_parquet(
"throun_data.parquet"
)
<- c(
percent_vars "Eiginfjárhlutfall",
"Framlegð sem hlutfall af tekjum",
"Handbært fé á íbúa",
"Launa- og launatengd gjöld sem hlutfall af gjöldum",
"Nettóskuldir sem hlutfall af tekjum",
"Rekstrarniðurstaða sem hlutfall af tekjum",
"Rekstrarniðurstaða undanfarinna 3 ára sem hlutfall af tekjum",
"Skuldahlutfall",
"Skuldir sem hlutfall af tekjum",
"Veltufé frá rekstri sem hlutfall af tekjum",
"Veltufjárhlutfall"
)
<- d |>
dreifing_data select(
ar,
sveitarfelag,
hluti,# "Heildarskuldir" = heildarskuldir,
# "Eignir" = eignir,
# "Tekjur" = tekjur,
# "Rekstrarniðurstaða" = rekstrarnidurstada,
"Eiginfjárhlutfall" = eiginfjarhlutfall,
"Framlegð sem hlutfall af tekjum" = framlegd_hlutf,
"Handbært fé á íbúa" = handbaert_fe_per_ibui,
"Launa- og launatengd gjöld á íbúa" = launagjold_per_ibui,
"Launa- og launatengd gjöld sem hlutfall af gjöldum" = launagjold_hlutf_gjold,
"Nettóskuldir sem hlutfall af tekjum" = nettoskuldir_hlutf_tekjur,
"Rekstrarniðurstaða sem hlutfall af tekjum" = rekstrarnidurstada_hlutf,
"Rekstrarniðurstaða undanfarinna 3 ára sem hlutfall af tekjum" = rekstur_3_ar_hlutf_tekjur,
"Útsvar og fasteignaskattur á íbúa" = skattur_a_ibua,
"Skuldahlutfall" = skuldahlutfall,
"Skuldir sem hlutfall af tekjum" = skuldir_hlutf_tekjur,
"Skuldir á íbúa" = skuldir_per_ibui,
"Veltufé frá rekstri sem hlutfall af tekjum" = veltufe_hlutf_tekjur,
"Veltufjárhlutfall" = veltufjarhlutfall
|>
) pivot_longer(
c(-sveitarfelag, -ar, -hluti),
names_to = "name",
values_to = "y"
|>
) arrange(ar, hluti, sveitarfelag, name) |>
mutate(
is_percent = ifelse(
%in% percent_vars,
name TRUE,
FALSE
)
)
|>
dreifing_data write_parquet(
"dreifing_data.parquet"
)
dreifing_data
# A tibble: 34,076 × 6
ar sveitarfelag hluti name y is_percent
<dbl> <chr> <chr> <chr> <dbl> <lgl>
1 2002 Akraneskaupstaður A og B-hluti Eiginfjárhlutfall 6.03e-1 TRUE
2 2002 Akraneskaupstaður A og B-hluti Framlegð sem hlutfa… 7.06e-2 TRUE
3 2002 Akraneskaupstaður A og B-hluti Handbært fé á íbúa 1.42e+4 TRUE
4 2002 Akraneskaupstaður A og B-hluti Launa- og launateng… 5.53e-1 TRUE
5 2002 Akraneskaupstaður A og B-hluti Launa- og launateng… 1.71e+5 FALSE
6 2002 Akraneskaupstaður A og B-hluti Nettóskuldir sem hl… 1.09e+0 TRUE
7 2002 Akraneskaupstaður A og B-hluti Rekstrarniðurstaða … 3.35e-2 TRUE
8 2002 Akraneskaupstaður A og B-hluti Rekstrarniðurstaða … NA TRUE
9 2002 Akraneskaupstaður A og B-hluti Skuldahlutfall 3.97e-1 TRUE
10 2002 Akraneskaupstaður A og B-hluti Skuldir sem hlutfal… 1.25e+0 TRUE
# ℹ 34,066 more rows
<- d |>
vidmid_data filter(
>= 2010,
ar |>
) select(
sveitarfelag,
ar,
hluti,nettoskuldir_obs = nettoskuldir_hlutf_tekjur,
rekstrarnidurstada_obs = rekstur_3_ar_hlutf_tekjur,
framlegd_obs = framlegd_hlutf,
veltufe_obs = veltufe_hlutf_tekjur,
veltufjarhlutfall_obs = veltufjarhlutfall
|>
) mutate(
framlegd_vidmid = nettoskuldir_obs/10,
veltufe_vidmid = nettoskuldir_obs/20,
rekstrarnidurstada_vidmid = 0,
veltufjarhlutfall_vidmid = 1,
nettoskuldir_vidmid = 1
|>
) pivot_longer(c(-sveitarfelag, -ar, -hluti), names_to = c("name", "type"), values_to = "value", names_sep = "_") |>
pivot_wider(names_from = type, values_from = value) |>
mutate(
diff = obs - vidmid,
colour = diff > 0
)
|>
vidmid_data write_parquet(
"vidmid_data.parquet"
)
vidmid_data
# A tibble: 7,330 × 8
sveitarfelag ar hluti name obs vidmid diff colour
<chr> <dbl> <chr> <chr> <dbl> <dbl> <dbl> <lgl>
1 Akraneskaupstaður 2010 A og B-hluti nettoskul… 1.14 1 0.143 TRUE
2 Akraneskaupstaður 2010 A og B-hluti rekstrarn… -0.0693 0 -0.0693 FALSE
3 Akraneskaupstaður 2010 A og B-hluti framlegd 0.0971 0.114 -0.0173 FALSE
4 Akraneskaupstaður 2010 A og B-hluti veltufe 0.159 0.0572 0.102 TRUE
5 Akraneskaupstaður 2010 A og B-hluti veltufjar… 1.50 1 0.497 TRUE
6 Akraneskaupstaður 2010 A-hluti nettoskul… 1.18 1 0.182 TRUE
7 Akraneskaupstaður 2010 A-hluti rekstrarn… -0.0740 0 -0.0740 FALSE
8 Akraneskaupstaður 2010 A-hluti framlegd 0.105 0.118 -0.0131 FALSE
9 Akraneskaupstaður 2010 A-hluti veltufe 0.166 0.0591 0.106 TRUE
10 Akraneskaupstaður 2010 A-hluti veltufjar… 1.42 1 0.420 TRUE
# ℹ 7,320 more rows
# d <- d |>
# mutate(
# eiginfjarhlutfall = eigid_fe / eignir,
# framlegd = tekjur - gjold + afskriftir,
# framlegd_hlutf = framlegd / tekjur,
# handbaert_fe_per_ibui = handbaert_fe / mannfjoldi,
# heildarskuldir = heildarskuldir,
# hlutf_jofnunarsjods_skottum = framlag_jofnunarsjods / (framlag_jofnunarsjods + skatttekjur_an_jofnundarsjods),
# jofnunarsjodur_a_ibua = framlag_jofnunarsjods / mannfjoldi,
# launagjold_per_ibui = launagjold / mannfjoldi,
# launagjold_hlutf_gjold = launagjold / gjold,
# utgjold_jofnunarsjod = (0.0077 + 0.0099) * tekjur,
# netto_jofnunarsjod = framlag_jofnunarsjods - utgjold_jofnunarsjod,
# netto_jofnunarsjod_per_ibui = netto_jofnunarsjod / mannfjoldi,
# nettoskuldir = heildarskuldir - veltufjarmunir + skammtimakrofur_eigin_fyrirtaeki,
# nettoskuldir_hlutf_tekjur = nettoskuldir / tekjur,
# rekstrarnidurstada_hlutf = rekstrarnidurstada / tekjur,
# rekstur_3_ar = rekstrarnidurstada + lag(rekstrarnidurstada, 1) + lag(rekstrarnidurstada, 2),
# tekjur_3_ar = tekjur + lag(tekjur, 1) + lag(tekjur, 2),
# rekstur_3_ar_hlutf_tekjur = rekstur_3_ar / tekjur_3_ar,
# skattur_a_ibua = skatttekjur_an_jofnundarsjóðs / mannfjoldi,
# skuldahlutfall = 1 - eiginfjarhlutfall,
# skuldir_hlutf_tekjur = heildarskuldir / tekjur,
# skuldir_per_ibui = heildarskuldir / mannfjoldi,
# timi_borga_skuldir = nettoskuldir / veltufe,
# timi_borga_skuldir = pmax(timi_borga_skuldir, 0),
# timi_borga_skuldir = ifelse(veltufe <= 0, 1e5, timi_borga_skuldir),
# veltufe_hlutf_tekjur = veltufe / tekjur,
# veltufjarhlutfall = veltufjarmunir / skammtimaskuldir
# ) |>
# inner_join(
# visitala,
# by = "ar"
# ) |>
# group_by(ar) |>
# mutate(hlutf_jofnunarsjod_utgjold = utgjold_jofnunarsjod / sum(utgjold_jofnunarsjod)) |>
# ungroup() |>
# arrange(ar, sveitarfelag, hluti) |>
# group_by(sveitarfelag, hluti) |>
# mutate(
# skuldaaukning_2021 = ifelse(sveitarfelag != "Múlaþing" & ar >= 2018, (heildarskuldir / cpi) / (heildarskuldir[ar == 2018] / cpi[ar == 2018]) - 1, NA),
# skuldaaukning = heildarskuldir / heildarskuldir[ar == max(ar)],
# rekstrarnidurstada_kjortimabil = sum(rekstrarnidurstada * (ar >= 2018)),
# tekjur_kjortimabil = sum(tekjur * (ar >= 2018)),
# rekstrarnidurstada_hlutf_kjortimabil = rekstrarnidurstada_kjortimabil / tekjur_kjortimabil,
# rekstrarnidurstada_per_ibui_kjortimabil = rekstrarnidurstada_kjortimabil / mean(mannfjoldi[ar %in% 2018:2021])
# ) |>
# ungroup()