# Nødvendige pakker knitr::opts_chunk$set(echo = TRUE) library(tidyverse) library(lubridate) library(navR) library(kableExtra)
# Data og forutsetninger regnskap <- navR::regnskap %>% filter( dato < lubridate::ymd("2021-10-01")) %>% arrange( desc(dato)) %>% dplyr::rename( pris = g) mottakere <- navR::mottakere %>% filter( dato < lubridate::ymd("2021-10-01"))%>% arrange( desc(dato)) # Pris g_ifjor <- 100853 g_iar <- 104716 g_neste_ar <- 108287
# Budsjettet bud <- navR::Budsjett$new( name = "Kap. 2020 Enslig mor eller far", kapittelpost = "2620.70", name_nytt_anslag = "Oktober 2021", periode = 202108, dfRegnskap = regnskap, dfMottakere = mottakere %>% mutate(kategori = "post70"), pris_gjeldende = g_21, PRIS_VEKST = (g_21/g_20) )
regnskap_ifjor <- navR::Anslag$new( name = str_c("Regnskap " ), ar = lubridate::year(bud$giPeriode())-1, regnskap_ifjor = bud$giRegnskapstall( ar_til_bake = 2), volumvekst = (1 - 0.029), vekst_ytelse = (1-0.014), prisvekst = 1.020, tiltak = (1 - 0.0) ) forrige_iar <- navR::Anslag$new( name = "Anslag fra 21.7.21", ar = 2021, regnskap_ifjor = bud$giRegnskapstallIfjor(), volumvekst = (1 - 0.00), vekst_ytelse = (1-0.015), prisvekst = 1.0383, tiltak = (1 - 0.0223) ) vedtatt_iar <- navR::Anslag$new( name = "Anslag fra 21.3.21", ar = 2021, regnskap_ifjor = bud$giRegnskapstallIfjor(), volumvekst = (1 + 0.0069), vekst_ytelse = (1-0.005), prisvekst = 1.0393, tiltak = (1 - 0.02187) ) nytt_iar <- navR::Anslag$new( name = "NAVs nye anslag", ar = 2021, #(bud$giAr()+1) regnskap_ifjor = bud$giRegnskapstallIfjor(), volumvekst = (1 + 0.015), vekst_ytelse = (1-0.026), prisvekst = 1.0383, tiltak = (1 - 0.0221) ) nytt_neste_ar <- navR::Anslag$new( name = "NAVs nye anslag 2022", ar = 2022, regnskap_ifjor = nytt_iar$giSumAnslag(), volumvekst = (1 - 0.005), vekst_ytelse = (1-0.00), prisvekst = 1.0341, tiltak = (1 - 0.0145) ) forrige_neste_ar <- navR::Anslag$new( name = "NAVs forrige anslag for 2022", ar = 2022, regnskap_ifjor = forrige_iar$giSumAnslag(), volumvekst = (1 - 0.0), vekst_ytelse = (1-0.00), prisvekst = 1.0341, tiltak = (1 - 0.0145) )
# tabell1 <- tibble( name = c("År", "Vedtatt budsjett", forrige_iar$giAnslagNavn(), nytt_iar$giAnslagNavn(), "Endring fra vedtatt budjsett", "Endring fra forrige anslag"), value = c(2021*10^6, vedtatt_iar$giSumAnslag() %>% navR::avrund_anslag( i_mill_kr = F), forrige_iar$giSumAnslag() %>% navR::avrund_anslag( i_mill_kr = F), nytt_iar$giSumAnslag() %>% navR::avrund_anslag( i_mill_kr = F), nytt_iar$giSumAnslag() %>% navR::avrund_anslag( i_mill_kr = F) - vedtatt_iar$giSumAnslag() %>% navR::avrund_anslag( i_mill_kr = F), nytt_iar$giSumAnslag() %>% navR::avrund_anslag( i_mill_kr = F) - forrige_iar$giSumAnslag() %>% navR::avrund_anslag( i_mill_kr = F) ) ) %>% mutate( value = value/10^6 %>% round( digits = 0)) %>% pivot_wider( names_from = name, values_from = value)
# Regnskapstabell # Feil pris tabell2 <- bud$lagRegnskapTabell2( anslag1 = nytt_iar , anslag2 = nytt_neste_ar, printversjon = F) %>% mutate_at( vars( regnskap ,endring_regnskap, regnskap_fast, endring_regnskap_f) , function(x) x/10^6) %>% mutate_at( vars(regnskap, regnskap_fast) , function(x) ifelse(.$kategori == "Anslag", round(x, -1), x)) tabell2_2 <- bud$lagRegnskapTabell2( anslag1 = nytt_iar , anslag2 = nytt_neste_ar, printversjon = T) %>% mutate_at( vars(regnskap, regnskap_fast) , function(x) ifelse(.$kategori == "Anslag", round(as.numeric(x), -1), x)) names( tabell2_2 ) <- c(names(tabell2)[1:3], "Endring", "Vekst\npst", "Pris", paste0("Mill. kr\n","2021-G"), "Endring\nregnskap fast", "vekst faste kr\npst") # rename( # Endring = endring_regnskap, # vekst = regnskap_vekst, # `Mill. kr \ni 2021-G` = regnskap_fast, # `Endring regnskap\n 2021-G` = endring_regnskap_f, # `vekst faste kr` = regnskap_fast_vekst # )
tabell3 <- bud$lagTabellMndUtviklingRegnskap() tabell3 <- tabell3 %>% ungroup() %>% mutate_if( is.numeric, function(x) ifelse( abs(x) > 1, round(x/10^6, digits = 0) %>% format( big.mark = " "), round(x, digits = 4 )*100 )) %>% select(-forrige, -naa) # Legg til år names(tabell3) <- c( str_c("Periode\nFra og med – til og med"), str_c("Prosentvis vekst i \nregnskapstallene målt i fast G"), str_c( "Budsjettanslag for ", "2021", " basert på\ntilsvarende vekst. Mill. kroner"), str_c( "Budsjettanslag for ", "2022", " basert på\ntilsvarende vekst. Mill. kroner") )
tabell4_mnd_utvikling_mottakere <- bud$lagTabellMndUtviklingMottakere() %>% ungroup() tabell4_mnd_utvikling_mottakere_2 <-tabell4_mnd_utvikling_mottakere %>% mutate_if( is.numeric, function(x) ifelse( abs(x) > 1, round(x/1, digits = 0) %>% format( big.mark = " "), round(x, digits = 4 )*100 )) %>% select(-forrige, -naa) names(tabell4_mnd_utvikling_mottakere_2) <- c( str_c("Periode\nFra og med – til og med"), "Prosentvis vekst i \nantall motakere året før", "Antall år 2021\nbasert på vekst mnd.", str_c( "Budsjettanslag for\n", "2022", " basert på vekst mnd.") ) gj_ytelse <- navR::AvgMottakereYtelse$new( name = "test", dfMottakere = mottakere, dfRegnskap = regnskap , gj_pris = g_21, ANSLAG_AR = bud$giPeriode() %>% lubridate::year(), ANSLAG_MND_PERIODE = bud$giPeriode() %>% lubridate::month() ) tabell5_gj_ytelse <- gj_ytelse$lagTabell2( nested_liste_anslag = list( anslag = c(nytt_iar, nytt_neste_ar), Forrige = c(forrige_iar, forrige_neste_ar))) %>% mutate_if( is.numeric, function(x) ifelse( abs(x) > 1, round(x/1, digits = 0) %>% format( big.mark = " "), round(x, digits = 4 )*100 )) %>% rename( `År` = ar, Antall = antall, Endring = antall_endring, `Gj.ytelse` = ytelse, `Endring ytelse` = ytelse_endring )
forrige_iar$setPris( pris = g_21) nytt_iar$setPris( pris = g_21) forrige_neste_ar$setPris( pris = 108182) nytt_neste_ar$setPris( pris = 108182) endring_anslag_iar_fra_sist <- navR::Dekomponer$new( anslag1 = forrige_iar, anslag2 = nytt_iar, antall_1 = 10223 , antall_2 = 10327 )$giDekomponert() endring_anslag_neste_ar_fra_sist <- navR::Dekomponer$new( anslag1 = forrige_neste_ar, anslag2 = nytt_neste_ar, antall_1 = 10066 , antall_2 = 10119 )$giDekomponert()
list_anslag <- list(regnskap_ifjor, vedtatt_iar, forrige_iar, nytt_iar) # Hvordan får jeg gjort om 2021 til automatiser? tabell_hoved1 <- tibble( `2021` = c( str_c("Post ", str_sub(bud$giKapittelpost(), start = 6, end = 7) )), navn = map_chr( list_anslag, function(x) x$giAnslagNavn() )) %>% mutate(anslag = map2_dbl( list_anslag, navn, function(x,y){ if(y != regnskap_ifjor$giAnslagNavn() ){ (x$giSumAnslag()/10^6) %>% navR::anslag_avrund( i_mill_kr = T)} else { (x$giSumAnslag()/10^6)} } ) ) %>% pivot_wider( names_from = navn, values_from = anslag) %>% mutate( `Endring fra vedtatt` = ( nytt_iar$giSumAnslag() %>% navR::anslag_avrund( ) - vedtatt_iar$giSumAnslag() %>% navR::anslag_avrund() )/10^6, `Endring fra forrige` = ( nytt_iar$giSumAnslag() %>% navR::anslag_avrund( ) - forrige_iar$giSumAnslag() %>% navR::anslag_avrund() )/10^6 ) # %>% ### Her kommer summert pluss under knitr::kable(format = "latex",booktabs = T, escape = F,tabell_hoved1, digits = 0, col.names = linebreak( names(tabell_hoved1) ), align = rep("r", times = 4) ) %>% kableExtra::kable_styling( latex_options = c("HOLD_position","striped"), stripe_index = c(1), font_size = 8, position = "left" )
\hspace{4cm}
hovedtabell2 <- c( forrige_neste_ar$giAnslagNavn(), paste0(nytt_neste_ar$giAnslagNavn(), " for ", nytt_neste_ar$giAr() ) ) list_anslag_neste_ar <- list( forrige_neste_ar, nytt_neste_ar) tabell_hoved2 <- tibble( `2022` = c(str_c("Post ", str_sub(bud$giKapittelpost(), start = 6, end = 7) )), navn = map_chr( list_anslag_neste_ar, function(x) x$giAnslagNavn() ) ) %>% mutate(anslag = map2_dbl( list_anslag_neste_ar, navn, function(x,y){ if(y != regnskap_ifjor$giAnslagNavn() ){ (x$giSumAnslag()/10^6) %>% navR::anslag_avrund( i_mill_kr = T)} else { (x$giSumAnslag()/10^6)} } ) ) %>% pivot_wider( names_from = navn, values_from = anslag) %>% mutate( `Endring fra sist anslag` = ( nytt_neste_ar$giSumAnslag() %>% navR::anslag_avrund( ) - forrige_neste_ar$giSumAnslag() %>% navR::anslag_avrund() )/10^6 ) knitr::kable(tabell_hoved2, format = "latex",booktabs = T, escape = F, digits = 0, col.names = linebreak( names(tabell_hoved2) ), align = rep("r", times = 4) ) %>% kableExtra::kable_styling( latex_options = c("HOLD_position","striped"), stripe_index = c(1), font_size = 8, position = "left" )
\hspace{4cm}
knitr::kable(format = "latex",booktabs = T, escape = F, tabell1, digits = 0 )%>% kable_styling( latex_options = c("HOLD_position","striped", "scale_down"), stripe_index = c(1), font_size = 8 ) # mutate_all(linebreak) %>% # kable(format = "latex", booktabs = T, escape = F, # col.names = linebreak( names(tabell_forutsetning) ), align = c("l", rep("r", times = 4)) ) %>% # kable_styling( latex_options = c("HOLD_position", "striped", "scale_down"), stripe_index = c(1,3,5,7), font_size = 6 )
endring_fra_forrige <- ((nytt_iar$giSumAnslag()- forrige_iar$giSumAnslag() )/10^6) endring_tekst <- ifelse(endring_fra_forrige > 0, "høyere", "lavere") endring_fra_forrige_round <- round( endring_fra_forrige, digits = 1) endring_fra_vedtatt <- ((nytt_iar$giSumAnslag()- vedtatt_iar$giSumAnslag() )/10^6) endring_tekst_vedtatt <- ifelse(endring_fra_vedtatt > 0, "høyere", "lavere")
Arbeids- og velferdsdirektoratet tilrår et anslag for 2020 på r round( nytt_iar$giSumAnslag()/10^6 , digits = 0) %>% format( big.mark = " " )
mill. kroner.
Dette er r format(abs(endring_fra_forrige_round), big.mark = " ")
mill. kroner r endring_tekst
enn forrige anslag og r format(abs(endring_fra_vedtatt), digits = 0)
mill. kroner r endring_tekst_vedtatt
enn vedtatt budsjett. For 2021 tilrås et anslag på r round( nytt_neste_ar$giSumAnslag()/10^6 , digits = 0) %>% format( big.mark = " " )
mill. kroner.
De nye anslagene er basert på r navR::gi_mnd_navn(bud$giPeriode() )
-tall.
Endringer i r nytt_iar$giAnslagNavn()
for r nytt_iar$giAr()
og r nytt_neste_ar$giAr()
sammenlignet med forrige anslag:
r nytt_iar$giAr()
:\newline
- Endret volumvekst har medført en anslagsendring for r nytt_iar$giAr()
på r endring_anslag_iar_fra_sist$endring_mill[endring_anslag_iar_fra_sist$tekst == "endret volum"] %>% format(digits = 0)
mill. kroner.
- Endret underliggende utvilling pris har medført en anslagsendring på r endring_anslag_iar_fra_sist$endring_mill[endring_anslag_iar_fra_sist$tekst == "effekt av pris"]
mill. kroner.
- Endret underliggende utvilling i gjennomsnittlig ytelse har medført en anslagsendring på r endring_anslag_iar_fra_sist$endring_mill[endring_anslag_iar_fra_sist$tekst == "snitt_beløp"] %>% format(digits = 0)
mill. kroner.\newline
- Samlet anslagendring for r nytt_iar$giAr()
er r endring_anslag_iar_fra_sist$endring_mill[endring_anslag_iar_fra_sist$tekst == "totalt"] %>% format(digits = 0)
mill. kroner.
r nytt_neste_ar$giAr()
:\newline
- Endret volumvekst har medført en anslagsendring for r nytt_neste_ar$giAr()
på r endring_anslag_neste_ar_fra_sist$endring_mill[endring_anslag_neste_ar_fra_sist$tekst == "endret volum"] %>% format(digits = 0)
mill. kroner.
- Endret underliggende utvilling pris har medført en anslagsendring på r endring_anslag_neste_ar_fra_sist$endring_mill[endring_anslag_neste_ar_fra_sist$tekst == "effekt av pris"]
mill. kroner.
- Endret underliggende utvilling i gjennomsnittlig ytelse har medført en anslagsendring på r endring_anslag_neste_ar_fra_sist$endring_mill[endring_anslag_neste_ar_fra_sist$tekst == "snitt_beløp"] %>% format(digits = 0)
mill. kroner.\newline
- Samlet anslagendring for r nytt_neste_ar$giAr()
er r endring_anslag_neste_ar_fra_sist$endring_mill[endring_anslag_neste_ar_fra_sist$tekst == "totalt"] %>% format(digits = 0)
mill. kroner.
\newpage
# Denne må endre navn variabler tabell2_2 %>% mutate_all(linebreak) %>% knitr::kable( format = "latex" , booktabs = T, escape = F, col.names = linebreak( names(tabell2_2) ), align = rep("r", times = 9) ) %>% kable_styling( latex_options = c("HOLD_position","striped", "scale_down"), stripe_index = c(1,3,5,7,9,11), font_size = 4 ) fra_i_fjor <- (nytt_iar$giSumAnslag()/10^6- tabell2$regnskap[tabell2$ar == "2020"]) fra_i_fjor_i_tekst <- ifelse(fra_i_fjor > 0, "høyere", "lavere")
Her kan man bruke informasjon fra tabellen over. Eks. regnskapstallene for året r nytt_iar$giAr()-1
er r tabell2$regnskap[tabell2$ar == "2020"] %>% format(digits = 1)
,
som er r abs(fra_i_fjor) %>% format(digits = 1)
mill. kroner r fra_i_fjor_i_tekst
enn anslag for 2021.
Tabell 3: Regnskapstall basert på månedsutvikling, samme periode i fjor.
tabell3 %>% mutate_all(linebreak) %>% kable(format = "latex", booktabs = T, escape = F, col.names = linebreak( names(tabell3) ), align = "lc" ) %>% kable_styling( latex_options = c("HOLD_position","striped", "scale_down"), stripe_index = c(1,3,5,7,9,11) ) # knitr::kable("latex",booktabs = T, escape = F, tabell3, col.names = linebreak( c("Item\n(Name)", "Value\n(Number)", "En", "To"), align = "c"),align = "c") # kbl( tabell3 , booktabs = T, linesep = "" , caption = "Dette er tabellen som viser regnskapsutvikling, 3 til 12 måned\nsammenliknet med fjoråret.", # col.names = linebreak(c("Item\n(Name)", "Value\n(Number)","Value\n(Number)","Value\n(Number)"), align = "c") ) %>% # kable_styling( latex_options = c("striped"), stripe_index = c(1,3) )
Tabell 4: Antall mottakere basert på månedsutvikling, samme periode i fjor.
tabell4_mnd_utvikling_mottakere_2 %>% mutate_all(linebreak) %>% kable(format = "latex", booktabs = T, escape = F, col.names = linebreak( names(tabell4_mnd_utvikling_mottakere_2) ), align = rep("c", times = ncol(tabell4_mnd_utvikling_mottakere_2) ) ) %>% kable_styling( latex_options = c("HOLD_position","striped", "scale_down"), stripe_index = c(1,3,5,7,9,11) ,font_size = 6)
Tabell 5: Forutsetning anslag for 2021.
endre_tekst <- function( df) { df %>% mutate( tekst = case_when( str_detect(tekst, "regnskap") ~ "Regnskap", str_detect(tekst, "sum") ~ "Sum", T ~ tekst )) } tabell_forutsetning <- tibble( anslag = list( regnskap_ifjor, vedtatt_iar, nytt_iar ) ) %>% mutate( anslag_navn = map(anslag, ~str_c(.x$giAnslagNavn()," ",.x$giAr() ) ) ) %>% mutate( anslag = map(anslag, ~endre_tekst(.x$giDfAnslag() )), anslag = map(anslag, ~.x %>% mutate(prosent = ifelse( tekst == "Sum", as.numeric(prosent)*100, prosent), tall = format( tall, big.mark = " ", digits = 0), prosent = format( prosent, digits = 1))) ) %>% unnest(cols = c(anslag_navn, anslag) ) %>% pivot_wider( names_from = anslag_navn, values_from = c(prosent,tall) ) %>% select(tekst, 2,5,3,6, 4, 7) names(tabell_forutsetning) <- map_chr( names(tabell_forutsetning) , function(x) str_replace(x, pattern = "_", "\n") %>% str_to_sentence( )) tabell_forutsetning %>% mutate_all(linebreak) %>% kable(format = "latex", booktabs = T, escape = F, col.names = linebreak( names(tabell_forutsetning) ), align = c("l", rep("r", times = 7) ) ) %>% kable_styling( position = "left", latex_options = c("HOLD_position", "striped", "scale_down"), stripe_index = c(1,3,5,7), font_size = 6 )
Tabell 6: Forutsetning anslag for 2021.
tabell_forutsetning_neste_ar <- tibble( anslag = list( forrige_neste_ar, nytt_neste_ar ) ) %>% mutate( anslag_navn = map(anslag, ~str_c( .x$giAnslagNavn() ) ) ) %>% mutate( anslag = map(anslag, ~endre_tekst(.x$giDfAnslag() )), anslag = map(anslag, ~.x %>% mutate(prosent = ifelse( tekst == "Sum", as.numeric(prosent)*100, prosent), tall = format( tall, big.mark = " ", digits = 0), prosent = format( prosent, digits = 1))) ) %>% unnest(cols = c(anslag_navn, anslag) ) %>% pivot_wider( names_from = anslag_navn, values_from = c(prosent,tall) ) %>% select(tekst, 2,4,3,5) names(tabell_forutsetning_neste_ar) <- map_chr( names(tabell_forutsetning_neste_ar) , function(x) str_replace(x, pattern = "_", "\n") %>% str_to_sentence( )) tabell_forutsetning_neste_ar %>% mutate_all(linebreak) %>% kable(format = "latex", booktabs = T, escape = F, col.names = linebreak( names(tabell_forutsetning_neste_ar) ), align = c("l", rep("r", times = 5) ) ) %>% kable_styling( position = "left", latex_options = c("HOLD_position", "striped", "scale_down"), stripe_index = c(1,3,5,7), font_size = 6 )
Tabell 6: Antall mottakere og gjennomsnittlig ytelse.
tabell5_gj_ytelse %>% kable(format = "latex", booktabs = T, escape = F ) %>% kable_styling( position = "left", latex_options = c("HOLD_position", "striped", "scale_down"), stripe_index = c(1,3,5), font_size = 4 )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.