Artikli eesmärk on anda ülevaade, kui paljudel teenustel on määratud omanikud ja kui paljudel teenustel kanalite lõikes on osutamiste arv märkimata.

Esmalt laeme andmed sisse.

andmedLai=riigiteenused::andmedSisse()
andmedLai$provider.memberOf.name=gsub("i haldusala", "", andmedLai$provider.memberOf.name)
andmedLai$provider.memberOf.name=gsub("Haridus- ja Teadusministeerium", "HTM", andmedLai$provider.memberOf.name)
andmedLai$provider.memberOf.name=gsub("Majandus- ja Kommunikatsiooniministeerium", "MKM", andmedLai$provider.memberOf.name)
andmedLai$provider.memberOf.name=gsub("Justiitsministeerium", "JuM", andmedLai$provider.memberOf.name)
andmedLai$provider.memberOf.name=gsub("Keskkonnaministeerium", "KeM", andmedLai$provider.memberOf.name)
andmedLai$provider.memberOf.name=gsub("Kultuuriministeerium", "KuM", andmedLai$provider.memberOf.name)
andmedLai$provider.memberOf.name=gsub("Välisministeerium", "VäM", andmedLai$provider.memberOf.name)
andmedLai$provider.memberOf.name=gsub("Siseministeerium", "SiM", andmedLai$provider.memberOf.name)
andmedLai$provider.memberOf.name=gsub("Rahandusministeerium", "RM", andmedLai$provider.memberOf.name)
andmedLai$provider.memberOf.name=gsub("Kaitseministeerium", "KaM", andmedLai$provider.memberOf.name)
andmedLai$provider.memberOf.name=gsub("Maaeluministeerium", "MeM", andmedLai$provider.memberOf.name)
andmedLai$provider.memberOf.name=gsub("Sotsiaalministeerium", "SoM", andmedLai$provider.memberOf.name)
#andmedPikk$ministeerium=gsub("i haldusala", "", andmedPikk$ministeerium)
andmedPikk=riigiteenused::andmedPikaks(andmedLai)

Arvutame, kui paljudes teenuse kanalites on mõõdetud osutamiste arvu.

andmedPikkOsut=andmedPikk[andmedPikk$naitaja=='osutamistearv',]
library(dplyr)
#teenuste arv minnis
teenArvMin=andmedPikkOsut%>%
  group_by(ministeerium)%>%
  summarise(teenusteArv=n())
#ostamiste arv puudu
osutArvPuuduKanalis=andmedPikkOsut%>%
  group_by(ministeerium, kanal)%>%
  summarise(poleOsut=sum(is.na(value)),
            kokkuMinKanalis=n())
#joinime
osutArvPuuduKanalis=osutArvPuuduKanalis%>%
  left_join(teenArvMin)
#osakaal
osutArvPuuduKanalis$PuuduOsakaal=osutArvPuuduKanalis$poleOsut/
  osutArvPuuduKanalis$kokkuMinKanalis
#teenuste osakaal
osutArvPuuduKanalis$KanaliOsakaal=osutArvPuuduKanalis$kokkuMinKanalis/osutArvPuuduKanalis$teenusteArv

Paneme tulemid graafikule.

library(stringr)
osutArvPuuduKanalis$ministeeriumLabel=stringr::str_wrap(osutArvPuuduKanalis$ministeerium, width=10)
osutArvPuuduKanalis$kanalLabel=osutArvPuuduKanalis$kanal
osutArvPuuduKanalis$kanalLabel=gsub("E-iseteenindus", "iseteenindus",osutArvPuuduKanalis$kanalLabel)
osutArvPuuduKanalis$kanalLabel=gsub("Veebileht / portaal", "veeb",osutArvPuuduKanalis$kanalLabel)
osutArvPuuduKanalis$kanalLabel=gsub("TeenindusbĂĽroo", "bĂĽroo",osutArvPuuduKanalis$kanalLabel)
library(ggplot2)
ggplot(osutArvPuuduKanalis[osutArvPuuduKanalis$KanaliOsakaal>0,], aes(x=factor(kanalLabel), y=PuuduOsakaal))+
  geom_bar(stat = "identity", fill='lightblue')+
  facet_wrap(~ministeeriumLabel, scales='free_x')+
  theme_minimal()+
  theme(axis.text.x = element_text(angle = 45, hjust = 1),
        strip.text = element_text(size=8),
        text = element_text(size=9))+
  ylab("kanalite osakaal, kus on osutamiste arv mõõtmata")+
  xlab('')

Paneme graafikule, vahetame teljed ära:

ggplot(osutArvPuuduKanalis[osutArvPuuduKanalis$KanaliOsakaal>0.0,], aes(x=factor(ministeeriumLabel), y=PuuduOsakaal))+
  geom_bar(stat = "identity", fill='lightblue')+
  facet_wrap(~kanal, scales='free_x')+
  theme_minimal()+
  theme(axis.text.x = element_text(angle = 45, hjust = 1),strip.text = element_text(size=8),
        text = element_text(size=9))+
  ylab("kanalite osakaal, kus on osutamiste arv mõõtmata")+
  xlab('')

Kui paljudel teenustel pole omanikku.

andmedLaiOmanik=andmedLai
andmedLaiOmanik$omanik=ifelse(andmedLaiOmanik$provider.employee.telephone=="" & andmedLaiOmanik$provider.employee.email=="" & andmedLaiOmanik$provider.employee.name==""&andmedLaiOmanik$provider.employee.jobTitle=="", 1, 0)
poleOmanikke=andmedLaiOmanik%>%
  group_by(provider.memberOf.name)%>%
  summarise(PoleOmanik=sum(omanik))
#teenuste arv
teenuseidMin=andmedLaiOmanik%>%
  group_by(provider.memberOf.name)%>%
  summarise(arv=n())
#kokku
omanikudMin=poleOmanikke%>%
  left_join(teenuseidMin)
#arvutame osakaalu
omanikudMin$poleOmanikkuOsakaal=omanikudMin$PoleOmanik/omanikudMin$arv

omanikudMin$ministeeriumLabel=stringr::str_wrap(omanikudMin$provider.memberOf.name, width=30)

Ministeeriumite lõikes graafik.

ggplot(omanikudMin, aes(x=reorder(ministeeriumLabel,poleOmanikkuOsakaal), y=poleOmanikkuOsakaal))+
  geom_point(colour="blue", size=2)+
  theme_minimal()+
  #coord_cartesian(ylim=c(0,1))+
  coord_flip(ylim=c(0,1))+
  ylab("omanikega teenuste osakaal")+
  xlab("")