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("")