Packages

#install.packages("pacman") #jau izdarīts, vairs nav jāatkārto
pacman::p_load(tidyverse,
               janitor,
               MatchIt,
               gtsummary, # for tables
               table1,
               tableone,
               survival, 
               scales, 
               ggpubr, 
               RColorBrewer, 
               ggmap,
               geojsonR,
               leaflet,
               rgdal,
               sf,
               sjPlot,
               viridis) # paleta de colores
theme_set(ggpubr::theme_pubclean())  # define the theme for all graphs

Data

Datu ceļš no zobārstiem līdz analīzei: 1. Izsūtītas anketas elektroniskā formātā 1092 zobārstiem, iegūtas 235 aizpildītas anketas 2. Izdalītas 294 anketas konferenču laikā (244 LZA Bērnu zobārstniecības sēdē 17.-18. septembrī un Zobārstniecības un 50 Estētikas Apmācības centra (ZAEC) rīkotajos privātajos kursos septembra un oktobra laikā), iegūtas 129 anketas no LZA sēdes un 9 no ZAEC. 3. Papīra formāta anketas ievadītas un pārbaudītas (pārbaudot katru desmito anketu, netika atrasta neviena kļūda). 4. Kopā iegūti dati no 373 anketām.

Manipulācijas ar datiem pirms csv faila izveides: 1. Jautājumi no 5. līdz 8. pārkopēti un kodēti sekojoši: 5. jautājums no 0 līdz 5 (0=izgaismojums iekšējā dentīna trešdaļā) 6. jautājums no 0 līdz 4 (0=Ievērojams zoba audu zudums un / vai rentgenoloģiski kariesa pazīmes redzamas līdz iekšējai dentīna trešdaļai) 7. un 8. jautājums no 0 līdz 3 (0=Neveiktu nekādu ārstēšanu; 1=Aplicētu fluorīdu laku vai Aplicētu silantu; 2=Veidotu kavitāti, izņemot tikai kariozos audus, atjaunotu ar restaurāciju + pārējās fisūras slēgtu ar silantu vai Veidotu kavitāti, izņemot tikai kariozos audus, atjaunotu ar restaurāciju; 3=Veidotu kavitāti, iekļaujot visas fisūras, atjaunotu ar restaurāciju) 2. Papīra formātos trūka 7 dati, lai aprēķinātu invazivitāti. Katrs gadījums tika atsevišķi izvērtēts, trūkstošie dati aizpildīti ar vērtību, kas veidojās kā vidējā vērtība no citiem jautājumiem (5. līdz 8.). Ja trūka 7., bet bija 8. vai otrādi, trūkstošais tika aizpildīts ar to pašu vērtību, kāda bija otra atbilde. 3. Eksperti izlēma, ka visos jautājumos, lai zobārstu klasificētu kā neinvazīvu, atbildēm jābūt 0 vai 1, kopā maksimālais punktu skaits neinvazīvam zobārstam var būt 4. 4. Kodi tika summēti divējādi: a) visu četru jautājumu kodi vienkārši saskaitīti. Ja iegūst skaitli, kas lielāks par 4, Invazīvs, ja 4 vai mazāk, neinvazīvs. Šo mainīgo nosaucu par Invazivs1. b) katram jautājumam tika dihotomizēti kodi: 0-ja atbilde ir 0 vai 1 un 1, ja atbilde ir lielāka par 1. Tad atkal rezultāti tika saskaitīti, iegūstot Summa2, kur “0” ir, ja ir neinvazīvs, “1-3” - ja invazīvs. Šo mainīgo nosaucu par Invazivs2. 5. Tika pārbaudīts, kādu specialitāšu zobārsti ir aizpildījuši anketas. Noskaidrots, ka 16 kā specialitāti bija nosaukuši vispārējo zobārstniecību, zobārstu vai stomatologu, līdz ar to šie dati tika izlaboti. 3. jautājumā pārlabots uz “Nē” un izdzēsta 3a atbilde.

df <- read_csv("Anketa_zobarstiem_covid.csv")

Data cleaning

df <- janitor::clean_names(df) #lai nosaukumi parādītos arī datu režģī

Relevel

df <- df %>%
  mutate(
    x10_jaut_ekstrakcija = fct_relevel(
      x10_jaut_ekstrakcija,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x10_jaut_ekstrakcija = fct_recode(
      x10_jaut_ekstrakcija,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  )  


df <- df %>%
  mutate(
    x10_jaut_selektiva = fct_relevel(
      x10_jaut_selektiva,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x10_jaut_selektiva = fct_recode(
      x10_jaut_selektiva,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  )  



df <- df %>%
  mutate(
    x10_jaut_sdf = fct_relevel(
      x10_jaut_sdf,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x10_jaut_sdf = fct_recode(
      x10_jaut_sdf,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  ) 


df <- df %>%
  mutate(
    x10_jaut_hall = fct_relevel(
      x10_jaut_hall,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x10_jaut_hall = fct_recode(
      x10_jaut_hall,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  )  

df <- df %>%
  mutate(
    x10_jaut_nerestorativa = fct_relevel(
      x10_jaut_nerestorativa,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x10_jaut_nerestorativa = fct_recode(
      x10_jaut_nerestorativa,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  ) 


df <- df %>%
  mutate(
    x11_jaut_ekstrakcija = fct_relevel(
      x11_jaut_ekstrakcija,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x11_jaut_ekstrakcija = fct_recode(
      x11_jaut_ekstrakcija,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  )  


df <- df %>%
  mutate(
    x11_jaut_selektiva = fct_relevel(
      x11_jaut_selektiva,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x11_jaut_selektiva = fct_recode(
      x11_jaut_selektiva,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  )


df <- df %>%
  mutate(
    x11_jaut_sdf = fct_relevel(
      x11_jaut_sdf,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x11_jaut_sdf = fct_recode(
      x11_jaut_sdf,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x11_jaut_silanti = fct_relevel(
      x11_jaut_silanti,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x11_jaut_silanti = fct_recode(
      x11_jaut_silanti,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x11_jaut_nerestorativa = fct_relevel(
      x11_jaut_nerestorativa,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x11_jaut_nerestorativa = fct_recode(
      x11_jaut_nerestorativa,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  ) %>%
  mutate(
    x13_jaut_ekstrakcija = fct_relevel(
      x13_jaut_ekstrakcija,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x13_jaut_ekstrakcija = fct_recode(
      x13_jaut_ekstrakcija,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x13_jaut_selektiva = fct_relevel(
      x13_jaut_selektiva,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x13_jaut_selektiva = fct_recode(
      x13_jaut_selektiva,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x13_jaut_sdf = fct_relevel(
      x13_jaut_sdf,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x13_jaut_sdf = fct_recode(
      x13_jaut_sdf,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x13_jaut_hall = fct_relevel(
      x13_jaut_hall,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x13_jaut_hall = fct_recode(
      x13_jaut_hall,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x13_jaut_nerestorativa = fct_relevel(
      x13_jaut_nerestorativa,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x13_jaut_nerestorativa = fct_recode(
      x13_jaut_nerestorativa,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  ) %>%
  mutate(
    x13_jaut_tradicionala = fct_relevel(
      x13_jaut_tradicionala,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x13_jaut_tradicionala = fct_recode(
      x13_jaut_tradicionala,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  ) %>%
  mutate(
    x14_jaut_ekstrakcija = fct_relevel(
      x14_jaut_ekstrakcija,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x14_jaut_ekstrakcija = fct_recode(
      x14_jaut_ekstrakcija,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x14_jaut_selektiva = fct_relevel(
      x14_jaut_selektiva,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x14_jaut_selektiva = fct_recode(
      x14_jaut_selektiva,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x14_jaut_sdf = fct_relevel(
      x14_jaut_sdf,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x14_jaut_sdf = fct_recode(
      x14_jaut_sdf,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x14_jaut_silanti = fct_relevel(
      x14_jaut_silanti,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x14_jaut_silanti = fct_recode(
      x14_jaut_silanti,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x14_jaut_nerestorativa = fct_relevel(
      x14_jaut_nerestorativa,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x14_jaut_nerestorativa = fct_recode(
      x14_jaut_nerestorativa,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x14_jaut_tradicionala = fct_relevel(
      x14_jaut_tradicionala,
      "Neizmantotu" ,
      "Maz ticams, ka izmantotu",
      "Liekas, ka izmantotu",
      "Noteikti izmantotu"
    )
  )  %>%
  mutate(
    x14_jaut_tradicionala = fct_recode(
      x14_jaut_tradicionala,
      "Definitely no" = "Neizmantotu" ,
      "Unlikely" = "Maz ticams, ka izmantotu",
      "Likely" = "Liekas, ka izmantotu",
      "Definitely yes" = "Noteikti izmantotu"
    )
  )

Labels

df$x1_jusu_dzimums <-
  factor(df$x1_jusu_dzimums,
         labels = c("Female",
                    "Male"))
df$x3_vai_esat_ieguvis_specialista_gradu <-
  factor(df$x3_vai_esat_ieguvis_specialista_gradu,
         labels = c("Yes",
                    "No"))
df$x4_vai_jus_arstejat_mazus_bernus_piena_zobus <-
  factor(df$x4_vai_jus_arstejat_mazus_bernus_piena_zobus,
         labels = c("Adults and children equaly",
                    "Small children very rare",
                    "Only adults"))
df$invazivs1 <-
  factor(df$invazivs1,
         labels = c("Traditional",
                    "Minimally invasive"))

df$invazivs2 <-
  factor(df$invazivs2,
         labels = c("Traditional",
                    "Minimally invasive"))

df$x9_jaut <-
  factor(df$x9_jaut,
         labels = c("Would not attend",
                    "Emergency care",
                    "Normal care"))

df$x12_jaut <-
  factor(df$x12_jaut,
         labels = c("Would not attend",
                    "Emergency care",
                    "Normal care"))
df$x7_jaut_kods <-
  factor(df$x7_jaut_kods,
         labels = c("No treatment",
                    "F varnish or sealant",
                    "Restoration"))

df$x8_jaut_kods <-
  factor(df$x8_jaut_kods,
         labels = c("No treatment",
                    "F varnish or sealant",
                    "Restoration"))



label(df$x1_jusu_dzimums) <- "Gender"
label(df$x2_gads_kura_ieguvat_zobarsta_gradu) <- "Graduation year"
label(df$x3_vai_esat_ieguvis_specialista_gradu) <- "Specialist degree"
label(df$x4_vai_jus_arstejat_mazus_bernus_piena_zobus) <- "Type of patients"
label(df$invazivs1) <- "Type of treatment approach 1"
label(df$invazivs2) <- "Type of treatment approach 2"
label(df$x9_jaut) <- "If aerosol-generating procedures would be banned, what kind of care would you provide in your clinic?"
label(df$x10_jaut_ekstrakcija) <- "Aerosol-generating procedures banned - caries in deciduous teeth - extraction"
label(df$x10_jaut_selektiva) <- "Aerosol-generating procedures banned - caries in deciduous teeth - selective caries removal with hand instruments"
label(df$x10_jaut_hall) <- "Aerosol-generating procedures banned - caries in deciduous teeth - Hall crowns"
label(df$x10_jaut_sdf) <- "Aerosol-generating procedures banned - caries in deciduous teeth - SDF or similar fluoride treatment"
label(df$x10_jaut_nerestorativa) <- "Aerosol-generating procedures banned - caries in deciduous teeth - nonrestorative treatment"
label(df$x11_jaut_ekstrakcija) <- "Aerosol-generating procedures banned - caries in permanent teeth - extraction"
label(df$x11_jaut_selektiva) <- "Aerosol-generating procedures banned - caries in permanent teeth - selective caries removal with hand instruments"
label(df$x11_jaut_silanti) <- "Aerosol-generating procedures banned - caries in permanent teeth - sealants"
label(df$x11_jaut_sdf) <- "Aerosol-generating procedures banned - caries in permanent teeth - SDF or similar fluoride treatment"
label(df$x11_jaut_nerestorativa) <- "Aerosol-generating procedures banned - caries in permanent teeth - nonrestorative treatment"
label(df$x12_jaut) <- "If you would receive recommendation not to use aerosol-generating procedures, what kind of care would you provide in your clinic?"
label(df$x13_jaut_ekstrakcija) <- "Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - extraction"
label(df$x13_jaut_selektiva) <- "Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - selective caries removal with hand instruments"
label(df$x13_jaut_hall) <- "Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - Hall crowns"
label(df$x13_jaut_sdf) <- "Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - SDF or similar fluoride treatment"
label(df$x13_jaut_tradicionala) <- "Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - traditional restorative treatment"
label(df$x13_jaut_nerestorativa) <- "Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - nonrestorative treatment"
label(df$x14_jaut_ekstrakcija) <- "Recommendation not to use aerosol-generating procedures - caries in permanent teeth - extraction"
label(df$x14_jaut_selektiva) <- "Recommendation not to use aerosol-generating procedures - caries in permanent teeth - selective caries removal with hand instruments"
label(df$x14_jaut_silanti) <- "Recommendation not to use aerosol-generating procedures - caries in permanent teeth - sealants"
label(df$x14_jaut_sdf) <- "Recommendation not to use aerosol-generating procedures - caries in permanent teeth - SDF or similar fluoride treatment"
label(df$x14_jaut_nerestorativa) <- "Recommendation not to use aerosol-generating procedures - caries in permanent teeth - nonrestorative treatment"
label(df$x14_jaut_tradicionala) <- "Recommendation not to use aerosol-generating procedures - caries in permanent teeth - traditional restorative treatment"
label(df$x7_jaut_kods) <- "Treatment choice"
label(df$x8_jaut_kods) <- "Treatment choice"

add ID

df <- df %>% 
  rowid_to_column("ID")

#EDA

head(df)
dim(df)
## [1] 373  49
df %>% 
  count(x2_gads_kura_ieguvat_zobarsta_gradu)
names(df)
##  [1] "ID"                                                                                           
##  [2] "timestamp"                                                                                    
##  [3] "x1_jusu_dzimums"                                                                              
##  [4] "x2_gads_kura_ieguvat_zobarsta_gradu"                                                          
##  [5] "x3_vai_esat_ieguvis_specialista_gradu"                                                        
##  [6] "x3_a_kadas_specialitates_gradu_esat_ieguvis"                                                  
##  [7] "x4_vai_jus_arstejat_mazus_bernus_piena_zobus"                                                 
##  [8] "x5_jaut"                                                                                      
##  [9] "x6_jaut"                                                                                      
## [10] "x7_jaut"                                                                                      
## [11] "x8_jaut"                                                                                      
## [12] "x9_jaut"                                                                                      
## [13] "x10_jaut_ekstrakcija"                                                                         
## [14] "x10_jaut_selektiva"                                                                           
## [15] "x10_jaut_hall"                                                                                
## [16] "x10_jaut_sdf"                                                                                 
## [17] "x10_jaut_nerestorativa"                                                                       
## [18] "x11_jaut_ekstrakcija"                                                                         
## [19] "x11_jaut_selektiva"                                                                           
## [20] "x11_jaut_silanti"                                                                             
## [21] "x11_jaut_sdf"                                                                                 
## [22] "x11_jaut_nerestorativa"                                                                       
## [23] "x12_jaut"                                                                                     
## [24] "x13_jaut_ekstrakcija"                                                                         
## [25] "x13_jaut_tradicionala"                                                                        
## [26] "x13_jaut_selektiva"                                                                           
## [27] "x13_jaut_hall"                                                                                
## [28] "x13_jaut_sdf"                                                                                 
## [29] "x13_jaut_nerestorativa"                                                                       
## [30] "x14_jaut_ekstrakcija"                                                                         
## [31] "x14_jaut_tradicionala"                                                                        
## [32] "x14_jaut_selektiva"                                                                           
## [33] "x14_jaut_silanti"                                                                             
## [34] "x14_jaut_sdf"                                                                                 
## [35] "x14_jaut_nerestorativa"                                                                       
## [36] "vai_jus_interesetu_kursi_par_sim_neinvazivam_un_minimali_invazivam_kariesa_arstesanas_metodem"
## [37] "daudzums"                                                                                     
## [38] "invazivs1"                                                                                    
## [39] "kodu_summa"                                                                                   
## [40] "x5_jaut_kods"                                                                                 
## [41] "x6_jaut_kods"                                                                                 
## [42] "x7_jaut_kods"                                                                                 
## [43] "x8_jaut_kods"                                                                                 
## [44] "x5kods_dihotoms"                                                                              
## [45] "x6kods_dihotoms"                                                                              
## [46] "x7kods_dihotoms"                                                                              
## [47] "x8kods_dihotoms"                                                                              
## [48] "summa2"                                                                                       
## [49] "invazivs2"

TABLE 1

table1::table1(
  ~ x1_jusu_dzimums + x3_vai_esat_ieguvis_specialista_gradu + x4_vai_jus_arstejat_mazus_bernus_piena_zobus + invazivs1 + invazivs2 ,
  data = df
  )
Overall
(N=373)
Gender
Female 344 (92.2%)
Male 29 (7.8%)
Specialist degree
Yes 29 (7.8%)
No 344 (92.2%)
Type of patients
Adults and children equaly 223 (59.8%)
Small children very rare 67 (18.0%)
Only adults 81 (21.7%)
Missing 2 (0.5%)
Type of treatment approach 1
Traditional 266 (71.3%)
Minimally invasive 107 (28.7%)
Type of treatment approach 2
Traditional 321 (86.1%)
Minimally invasive 52 (13.9%)

Years from graduation

df %>% 
  mutate(years = 2020 - x2_gads_kura_ieguvat_zobarsta_gradu) %>% 
  ggplot(aes(x = years)) + 
  geom_histogram(bins = 10)

df %>% 
  drop_na(x2_gads_kura_ieguvat_zobarsta_gradu) %>% 
  mutate(years = 2020 - x2_gads_kura_ieguvat_zobarsta_gradu) %>% 
  summarise(average = mean(years), sd = sd(years), min = min(years), max = max(years))

Table 1

df %>% 
  mutate(years = 2020 - x2_gads_kura_ieguvat_zobarsta_gradu) %>% 
  select(
   x1_jusu_dzimums, x3_vai_esat_ieguvis_specialista_gradu, x4_vai_jus_arstejat_mazus_bernus_piena_zobus, years
  ) %>% 
  gtsummary::tbl_summary()
Characteristic N = 3731
Gender
Female 344 (92%)
Male 29 (7.8%)
Specialist degree 29 (7.8%)
Type of patients
Adults and children equaly 223 (60%)
Small children very rare 67 (18%)
Only adults 81 (22%)
Unknown 2
Graduation year 24 (10, 34)
Unknown 1

1 Statistics presented: n (%); Median (IQR)

Table 2 Rekomendācijas

table1::table1(
  ~ x12_jaut + x13_jaut_ekstrakcija + x13_jaut_tradicionala + x13_jaut_selektiva + x13_jaut_hall + x13_jaut_sdf + x13_jaut_nerestorativa + x14_jaut_ekstrakcija + x14_jaut_tradicionala + x14_jaut_selektiva + x14_jaut_silanti + x14_jaut_sdf + x14_jaut_nerestorativa |
  invazivs1 ,
  data = df
  )
Traditional
(N=266)
Minimally invasive
(N=107)
Overall
(N=373)
If you would receive recommendation not to use aerosol-generating procedures, what kind of care would you provide in your clinic?
Would not attend 25 (9.4%) 12 (11.2%) 37 (9.9%)
Emergency care 137 (51.5%) 59 (55.1%) 196 (52.5%)
Normal care 96 (36.1%) 35 (32.7%) 131 (35.1%)
Missing 8 (3.0%) 1 (0.9%) 9 (2.4%)
Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - extraction
Definitely no 174 (65.4%) 74 (69.2%) 248 (66.5%)
Unlikely 38 (14.3%) 15 (14.0%) 53 (14.2%)
Likely 23 (8.6%) 8 (7.5%) 31 (8.3%)
Definitely yes 15 (5.6%) 9 (8.4%) 24 (6.4%)
Missing 16 (6.0%) 1 (0.9%) 17 (4.6%)
Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - traditional restorative treatment
Definitely no 74 (27.8%) 43 (40.2%) 117 (31.4%)
Unlikely 95 (35.7%) 32 (29.9%) 127 (34.0%)
Likely 51 (19.2%) 16 (15.0%) 67 (18.0%)
Definitely yes 27 (10.2%) 15 (14.0%) 42 (11.3%)
Missing 19 (7.1%) 1 (0.9%) 20 (5.4%)
Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - selective caries removal with hand instruments
Definitely no 17 (6.4%) 12 (11.2%) 29 (7.8%)
Unlikely 38 (14.3%) 15 (14.0%) 53 (14.2%)
Likely 96 (36.1%) 25 (23.4%) 121 (32.4%)
Definitely yes 105 (39.5%) 55 (51.4%) 160 (42.9%)
Missing 10 (3.8%) 0 (0%) 10 (2.7%)
Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - Hall crowns
Definitely no 111 (41.7%) 47 (43.9%) 158 (42.4%)
Unlikely 74 (27.8%) 34 (31.8%) 108 (29.0%)
Likely 35 (13.2%) 14 (13.1%) 49 (13.1%)
Definitely yes 21 (7.9%) 11 (10.3%) 32 (8.6%)
Missing 25 (9.4%) 1 (0.9%) 26 (7.0%)
Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - SDF or similar fluoride treatment
Definitely no 29 (10.9%) 22 (20.6%) 51 (13.7%)
Unlikely 49 (18.4%) 20 (18.7%) 69 (18.5%)
Likely 103 (38.7%) 33 (30.8%) 136 (36.5%)
Definitely yes 71 (26.7%) 31 (29.0%) 102 (27.3%)
Missing 14 (5.3%) 1 (0.9%) 15 (4.0%)
Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - nonrestorative treatment
Definitely no 29 (10.9%) 14 (13.1%) 43 (11.5%)
Unlikely 47 (17.7%) 10 (9.3%) 57 (15.3%)
Likely 79 (29.7%) 43 (40.2%) 122 (32.7%)
Definitely yes 98 (36.8%) 39 (36.4%) 137 (36.7%)
Missing 13 (4.9%) 1 (0.9%) 14 (3.8%)
Recommendation not to use aerosol-generating procedures - caries in permanent teeth - extraction
Definitely no 196 (73.7%) 87 (81.3%) 283 (75.9%)
Unlikely 30 (11.3%) 8 (7.5%) 38 (10.2%)
Likely 12 (4.5%) 2 (1.9%) 14 (3.8%)
Definitely yes 13 (4.9%) 9 (8.4%) 22 (5.9%)
Missing 15 (5.6%) 1 (0.9%) 16 (4.3%)
Recommendation not to use aerosol-generating procedures - caries in permanent teeth - traditional restorative treatment
Definitely no 70 (26.3%) 36 (33.6%) 106 (28.4%)
Unlikely 81 (30.5%) 31 (29.0%) 112 (30.0%)
Likely 72 (27.1%) 29 (27.1%) 101 (27.1%)
Definitely yes 29 (10.9%) 10 (9.3%) 39 (10.5%)
Missing 14 (5.3%) 1 (0.9%) 15 (4.0%)
Recommendation not to use aerosol-generating procedures - caries in permanent teeth - selective caries removal with hand instruments
Definitely no 20 (7.5%) 13 (12.1%) 33 (8.8%)
Unlikely 39 (14.7%) 18 (16.8%) 57 (15.3%)
Likely 114 (42.9%) 31 (29.0%) 145 (38.9%)
Definitely yes 86 (32.3%) 45 (42.1%) 131 (35.1%)
Missing 7 (2.6%) 0 (0%) 7 (1.9%)
Recommendation not to use aerosol-generating procedures - caries in permanent teeth - sealants
Definitely no 71 (26.7%) 36 (33.6%) 107 (28.7%)
Unlikely 78 (29.3%) 22 (20.6%) 100 (26.8%)
Likely 67 (25.2%) 24 (22.4%) 91 (24.4%)
Definitely yes 37 (13.9%) 24 (22.4%) 61 (16.4%)
Missing 13 (4.9%) 1 (0.9%) 14 (3.8%)
Recommendation not to use aerosol-generating procedures - caries in permanent teeth - SDF or similar fluoride treatment
Definitely no 40 (15.0%) 22 (20.6%) 62 (16.6%)
Unlikely 56 (21.1%) 18 (16.8%) 74 (19.8%)
Likely 95 (35.7%) 35 (32.7%) 130 (34.9%)
Definitely yes 62 (23.3%) 31 (29.0%) 93 (24.9%)
Missing 13 (4.9%) 1 (0.9%) 14 (3.8%)
Recommendation not to use aerosol-generating procedures - caries in permanent teeth - nonrestorative treatment
Definitely no 33 (12.4%) 13 (12.1%) 46 (12.3%)
Unlikely 55 (20.7%) 16 (15.0%) 71 (19.0%)
Likely 77 (28.9%) 37 (34.6%) 114 (30.6%)
Definitely yes 89 (33.5%) 40 (37.4%) 129 (34.6%)
Missing 12 (4.5%) 1 (0.9%) 13 (3.5%)
# use gtsummary

pacman::p_load(gtsummary)

df %>%
  dplyr::select(
    x12_jaut ,
    x13_jaut_ekstrakcija ,
    x13_jaut_tradicionala ,
    x13_jaut_selektiva ,
    x13_jaut_hall ,
    x13_jaut_sdf ,
    x13_jaut_nerestorativa ,
    x14_jaut_ekstrakcija ,
    x14_jaut_tradicionala ,
    x14_jaut_selektiva ,
    x14_jaut_silanti ,
    x14_jaut_sdf ,
    x14_jaut_nerestorativa ,
    invazivs1
  ) %>%
  gtsummary::tbl_summary(by = invazivs1) %>% 
  gtsummary::add_overall() %>% 
  gtsummary::bold_labels() 
Characteristic Overall, N = 3731 Traditional, N = 2661 Minimally invasive, N = 1071
If you would receive recommendation not to use aerosol-generating procedures, what kind of care would you provide in your clinic?
Would not attend 37 (10%) 25 (9.7%) 12 (11%)
Emergency care 196 (54%) 137 (53%) 59 (56%)
Normal care 131 (36%) 96 (37%) 35 (33%)
Unknown 9 8 1
Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - extraction
Definitely no 248 (70%) 174 (70%) 74 (70%)
Unlikely 53 (15%) 38 (15%) 15 (14%)
Likely 31 (8.7%) 23 (9.2%) 8 (7.5%)
Definitely yes 24 (6.7%) 15 (6.0%) 9 (8.5%)
Unknown 17 16 1
Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - traditional restorative treatment
Definitely no 117 (33%) 74 (30%) 43 (41%)
Unlikely 127 (36%) 95 (38%) 32 (30%)
Likely 67 (19%) 51 (21%) 16 (15%)
Definitely yes 42 (12%) 27 (11%) 15 (14%)
Unknown 20 19 1
Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - selective caries removal with hand instruments
Definitely no 29 (8.0%) 17 (6.6%) 12 (11%)
Unlikely 53 (15%) 38 (15%) 15 (14%)
Likely 121 (33%) 96 (38%) 25 (23%)
Definitely yes 160 (44%) 105 (41%) 55 (51%)
Unknown 10 10 0
Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - Hall crowns
Definitely no 158 (46%) 111 (46%) 47 (44%)
Unlikely 108 (31%) 74 (31%) 34 (32%)
Likely 49 (14%) 35 (15%) 14 (13%)
Definitely yes 32 (9.2%) 21 (8.7%) 11 (10%)
Unknown 26 25 1
Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - SDF or similar fluoride treatment
Definitely no 51 (14%) 29 (12%) 22 (21%)
Unlikely 69 (19%) 49 (19%) 20 (19%)
Likely 136 (38%) 103 (41%) 33 (31%)
Definitely yes 102 (28%) 71 (28%) 31 (29%)
Unknown 15 14 1
Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - nonrestorative treatment
Definitely no 43 (12%) 29 (11%) 14 (13%)
Unlikely 57 (16%) 47 (19%) 10 (9.4%)
Likely 122 (34%) 79 (31%) 43 (41%)
Definitely yes 137 (38%) 98 (39%) 39 (37%)
Unknown 14 13 1
Recommendation not to use aerosol-generating procedures - caries in permanent teeth - extraction
Definitely no 283 (79%) 196 (78%) 87 (82%)
Unlikely 38 (11%) 30 (12%) 8 (7.5%)
Likely 14 (3.9%) 12 (4.8%) 2 (1.9%)
Definitely yes 22 (6.2%) 13 (5.2%) 9 (8.5%)
Unknown 16 15 1
Recommendation not to use aerosol-generating procedures - caries in permanent teeth - traditional restorative treatment
Definitely no 106 (30%) 70 (28%) 36 (34%)
Unlikely 112 (31%) 81 (32%) 31 (29%)
Likely 101 (28%) 72 (29%) 29 (27%)
Definitely yes 39 (11%) 29 (12%) 10 (9.4%)
Unknown 15 14 1
Recommendation not to use aerosol-generating procedures - caries in permanent teeth - selective caries removal with hand instruments
Definitely no 33 (9.0%) 20 (7.7%) 13 (12%)
Unlikely 57 (16%) 39 (15%) 18 (17%)
Likely 145 (40%) 114 (44%) 31 (29%)
Definitely yes 131 (36%) 86 (33%) 45 (42%)
Unknown 7 7 0
Recommendation not to use aerosol-generating procedures - caries in permanent teeth - sealants
Definitely no 107 (30%) 71 (28%) 36 (34%)
Unlikely 100 (28%) 78 (31%) 22 (21%)
Likely 91 (25%) 67 (26%) 24 (23%)
Definitely yes 61 (17%) 37 (15%) 24 (23%)
Unknown 14 13 1
Recommendation not to use aerosol-generating procedures - caries in permanent teeth - SDF or similar fluoride treatment
Definitely no 62 (17%) 40 (16%) 22 (21%)
Unlikely 74 (21%) 56 (22%) 18 (17%)
Likely 130 (36%) 95 (38%) 35 (33%)
Definitely yes 93 (26%) 62 (25%) 31 (29%)
Unknown 14 13 1
Recommendation not to use aerosol-generating procedures - caries in permanent teeth - nonrestorative treatment
Definitely no 46 (13%) 33 (13%) 13 (12%)
Unlikely 71 (20%) 55 (22%) 16 (15%)
Likely 114 (32%) 77 (30%) 37 (35%)
Definitely yes 129 (36%) 89 (35%) 40 (38%)
Unknown 13 12 1

1 Statistics presented: n (%)

table1::table1(
  ~ x12_jaut + x13_jaut_ekstrakcija + x13_jaut_tradicionala + x13_jaut_selektiva + x13_jaut_hall + x13_jaut_sdf + x13_jaut_nerestorativa + x14_jaut_ekstrakcija + x14_jaut_tradicionala + x14_jaut_selektiva + x14_jaut_silanti + x14_jaut_sdf + x14_jaut_nerestorativa |
  invazivs2 ,
  data = df
  )
Traditional
(N=321)
Minimally invasive
(N=52)
Overall
(N=373)
If you would receive recommendation not to use aerosol-generating procedures, what kind of care would you provide in your clinic?
Would not attend 33 (10.3%) 4 (7.7%) 37 (9.9%)
Emergency care 167 (52.0%) 29 (55.8%) 196 (52.5%)
Normal care 112 (34.9%) 19 (36.5%) 131 (35.1%)
Missing 9 (2.8%) 0 (0%) 9 (2.4%)
Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - extraction
Definitely no 214 (66.7%) 34 (65.4%) 248 (66.5%)
Unlikely 45 (14.0%) 8 (15.4%) 53 (14.2%)
Likely 27 (8.4%) 4 (7.7%) 31 (8.3%)
Definitely yes 19 (5.9%) 5 (9.6%) 24 (6.4%)
Missing 16 (5.0%) 1 (1.9%) 17 (4.6%)
Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - traditional restorative treatment
Definitely no 92 (28.7%) 25 (48.1%) 117 (31.4%)
Unlikely 116 (36.1%) 11 (21.2%) 127 (34.0%)
Likely 58 (18.1%) 9 (17.3%) 67 (18.0%)
Definitely yes 35 (10.9%) 7 (13.5%) 42 (11.3%)
Missing 20 (6.2%) 0 (0%) 20 (5.4%)
Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - selective caries removal with hand instruments
Definitely no 24 (7.5%) 5 (9.6%) 29 (7.8%)
Unlikely 48 (15.0%) 5 (9.6%) 53 (14.2%)
Likely 110 (34.3%) 11 (21.2%) 121 (32.4%)
Definitely yes 129 (40.2%) 31 (59.6%) 160 (42.9%)
Missing 10 (3.1%) 0 (0%) 10 (2.7%)
Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - Hall crowns
Definitely no 135 (42.1%) 23 (44.2%) 158 (42.4%)
Unlikely 94 (29.3%) 14 (26.9%) 108 (29.0%)
Likely 41 (12.8%) 8 (15.4%) 49 (13.1%)
Definitely yes 26 (8.1%) 6 (11.5%) 32 (8.6%)
Missing 25 (7.8%) 1 (1.9%) 26 (7.0%)
Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - SDF or similar fluoride treatment
Definitely no 43 (13.4%) 8 (15.4%) 51 (13.7%)
Unlikely 61 (19.0%) 8 (15.4%) 69 (18.5%)
Likely 119 (37.1%) 17 (32.7%) 136 (36.5%)
Definitely yes 84 (26.2%) 18 (34.6%) 102 (27.3%)
Missing 14 (4.4%) 1 (1.9%) 15 (4.0%)
Recommendation not to use aerosol-generating procedures - caries in deciduous teeth - nonrestorative treatment
Definitely no 38 (11.8%) 5 (9.6%) 43 (11.5%)
Unlikely 53 (16.5%) 4 (7.7%) 57 (15.3%)
Likely 102 (31.8%) 20 (38.5%) 122 (32.7%)
Definitely yes 115 (35.8%) 22 (42.3%) 137 (36.7%)
Missing 13 (4.0%) 1 (1.9%) 14 (3.8%)
Recommendation not to use aerosol-generating procedures - caries in permanent teeth - extraction
Definitely no 243 (75.7%) 40 (76.9%) 283 (75.9%)
Unlikely 32 (10.0%) 6 (11.5%) 38 (10.2%)
Likely 13 (4.0%) 1 (1.9%) 14 (3.8%)
Definitely yes 18 (5.6%) 4 (7.7%) 22 (5.9%)
Missing 15 (4.7%) 1 (1.9%) 16 (4.3%)
Recommendation not to use aerosol-generating procedures - caries in permanent teeth - traditional restorative treatment
Definitely no 88 (27.4%) 18 (34.6%) 106 (28.4%)
Unlikely 98 (30.5%) 14 (26.9%) 112 (30.0%)
Likely 85 (26.5%) 16 (30.8%) 101 (27.1%)
Definitely yes 36 (11.2%) 3 (5.8%) 39 (10.5%)
Missing 14 (4.4%) 1 (1.9%) 15 (4.0%)
Recommendation not to use aerosol-generating procedures - caries in permanent teeth - selective caries removal with hand instruments
Definitely no 28 (8.7%) 5 (9.6%) 33 (8.8%)
Unlikely 52 (16.2%) 5 (9.6%) 57 (15.3%)
Likely 126 (39.3%) 19 (36.5%) 145 (38.9%)
Definitely yes 108 (33.6%) 23 (44.2%) 131 (35.1%)
Missing 7 (2.2%) 0 (0%) 7 (1.9%)
Recommendation not to use aerosol-generating procedures - caries in permanent teeth - sealants
Definitely no 94 (29.3%) 13 (25.0%) 107 (28.7%)
Unlikely 91 (28.3%) 9 (17.3%) 100 (26.8%)
Likely 76 (23.7%) 15 (28.8%) 91 (24.4%)
Definitely yes 47 (14.6%) 14 (26.9%) 61 (16.4%)
Missing 13 (4.0%) 1 (1.9%) 14 (3.8%)
Recommendation not to use aerosol-generating procedures - caries in permanent teeth - SDF or similar fluoride treatment
Definitely no 56 (17.4%) 6 (11.5%) 62 (16.6%)
Unlikely 65 (20.2%) 9 (17.3%) 74 (19.8%)
Likely 113 (35.2%) 17 (32.7%) 130 (34.9%)
Definitely yes 74 (23.1%) 19 (36.5%) 93 (24.9%)
Missing 13 (4.0%) 1 (1.9%) 14 (3.8%)
Recommendation not to use aerosol-generating procedures - caries in permanent teeth - nonrestorative treatment
Definitely no 40 (12.5%) 6 (11.5%) 46 (12.3%)
Unlikely 66 (20.6%) 5 (9.6%) 71 (19.0%)
Likely 99 (30.8%) 15 (28.8%) 114 (30.6%)
Definitely yes 104 (32.4%) 25 (48.1%) 129 (34.6%)
Missing 12 (3.7%) 1 (1.9%) 13 (3.5%)

Table 2 AIzliegums

table1::table1(
  ~ x9_jaut + x10_jaut_ekstrakcija + x10_jaut_selektiva + x10_jaut_hall + x10_jaut_sdf + x10_jaut_nerestorativa + x11_jaut_ekstrakcija + x11_jaut_selektiva + x11_jaut_silanti + x11_jaut_sdf + x11_jaut_nerestorativa |
  invazivs1 ,
  data = df
  )
Traditional
(N=266)
Minimally invasive
(N=107)
Overall
(N=373)
If aerosol-generating procedures would be banned, what kind of care would you provide in your clinic?
Would not attend 39 (14.7%) 15 (14.0%) 54 (14.5%)
Emergency care 191 (71.8%) 80 (74.8%) 271 (72.7%)
Normal care 30 (11.3%) 11 (10.3%) 41 (11.0%)
Missing 6 (2.3%) 1 (0.9%) 7 (1.9%)
Aerosol-generating procedures banned - caries in deciduous teeth - extraction
Definitely no 169 (63.5%) 71 (66.4%) 240 (64.3%)
Unlikely 44 (16.5%) 16 (15.0%) 60 (16.1%)
Likely 27 (10.2%) 7 (6.5%) 34 (9.1%)
Definitely yes 16 (6.0%) 12 (11.2%) 28 (7.5%)
Missing 10 (3.8%) 1 (0.9%) 11 (2.9%)
Aerosol-generating procedures banned - caries in deciduous teeth - selective caries removal with hand instruments
Definitely no 15 (5.6%) 11 (10.3%) 26 (7.0%)
Unlikely 25 (9.4%) 12 (11.2%) 37 (9.9%)
Likely 92 (34.6%) 31 (29.0%) 123 (33.0%)
Definitely yes 126 (47.4%) 52 (48.6%) 178 (47.7%)
Missing 8 (3.0%) 1 (0.9%) 9 (2.4%)
Aerosol-generating procedures banned - caries in deciduous teeth - Hall crowns
Definitely no 114 (42.9%) 53 (49.5%) 167 (44.8%)
Unlikely 78 (29.3%) 28 (26.2%) 106 (28.4%)
Likely 37 (13.9%) 14 (13.1%) 51 (13.7%)
Definitely yes 14 (5.3%) 10 (9.3%) 24 (6.4%)
Missing 23 (8.6%) 2 (1.9%) 25 (6.7%)
Aerosol-generating procedures banned - caries in deciduous teeth - SDF or similar fluoride treatment
Definitely no 33 (12.4%) 18 (16.8%) 51 (13.7%)
Unlikely 50 (18.8%) 20 (18.7%) 70 (18.8%)
Likely 87 (32.7%) 41 (38.3%) 128 (34.3%)
Definitely yes 85 (32.0%) 27 (25.2%) 112 (30.0%)
Missing 11 (4.1%) 1 (0.9%) 12 (3.2%)
Aerosol-generating procedures banned - caries in deciduous teeth - nonrestorative treatment
Definitely no 28 (10.5%) 12 (11.2%) 40 (10.7%)
Unlikely 47 (17.7%) 17 (15.9%) 64 (17.2%)
Likely 81 (30.5%) 40 (37.4%) 121 (32.4%)
Definitely yes 95 (35.7%) 37 (34.6%) 132 (35.4%)
Missing 15 (5.6%) 1 (0.9%) 16 (4.3%)
Aerosol-generating procedures banned - caries in permanent teeth - extraction
Definitely no 203 (76.3%) 84 (78.5%) 287 (76.9%)
Unlikely 29 (10.9%) 8 (7.5%) 37 (9.9%)
Likely 10 (3.8%) 8 (7.5%) 18 (4.8%)
Definitely yes 14 (5.3%) 6 (5.6%) 20 (5.4%)
Missing 10 (3.8%) 1 (0.9%) 11 (2.9%)
Aerosol-generating procedures banned - caries in permanent teeth - selective caries removal with hand instruments
Definitely no 20 (7.5%) 12 (11.2%) 32 (8.6%)
Unlikely 37 (13.9%) 17 (15.9%) 54 (14.5%)
Likely 106 (39.8%) 39 (36.4%) 145 (38.9%)
Definitely yes 96 (36.1%) 37 (34.6%) 133 (35.7%)
Missing 7 (2.6%) 2 (1.9%) 9 (2.4%)
Aerosol-generating procedures banned - caries in permanent teeth - sealants
Definitely no 73 (27.4%) 31 (29.0%) 104 (27.9%)
Unlikely 78 (29.3%) 24 (22.4%) 102 (27.3%)
Likely 64 (24.1%) 33 (30.8%) 97 (26.0%)
Definitely yes 36 (13.5%) 18 (16.8%) 54 (14.5%)
Missing 15 (5.6%) 1 (0.9%) 16 (4.3%)
Aerosol-generating procedures banned - caries in permanent teeth - SDF or similar fluoride treatment
Definitely no 34 (12.8%) 15 (14.0%) 49 (13.1%)
Unlikely 57 (21.4%) 29 (27.1%) 86 (23.1%)
Likely 100 (37.6%) 36 (33.6%) 136 (36.5%)
Definitely yes 66 (24.8%) 26 (24.3%) 92 (24.7%)
Missing 9 (3.4%) 1 (0.9%) 10 (2.7%)
Aerosol-generating procedures banned - caries in permanent teeth - nonrestorative treatment
Definitely no 31 (11.7%) 10 (9.3%) 41 (11.0%)
Unlikely 64 (24.1%) 21 (19.6%) 85 (22.8%)
Likely 78 (29.3%) 37 (34.6%) 115 (30.8%)
Definitely yes 84 (31.6%) 38 (35.5%) 122 (32.7%)
Missing 9 (3.4%) 1 (0.9%) 10 (2.7%)
df %>%
  dplyr::select(
    x9_jaut ,
    x10_jaut_ekstrakcija ,
    x10_jaut_selektiva ,
    x10_jaut_hall ,
    x10_jaut_sdf ,
    x10_jaut_nerestorativa ,
    x11_jaut_ekstrakcija ,
    x11_jaut_selektiva ,
    x11_jaut_silanti ,
    x11_jaut_sdf ,
    x11_jaut_nerestorativa ,
    invazivs1
  ) %>%
  gtsummary::tbl_summary(by = invazivs1) %>%
  gtsummary::add_overall() %>%
  gtsummary::bold_labels() %>%
  gtsummary::add_p()
Characteristic Overall, N = 3731 Traditional, N = 2661 Minimally invasive, N = 1071 p-value2
If aerosol-generating procedures would be banned, what kind of care would you provide in your clinic? >0.9
Would not attend 54 (15%) 39 (15%) 15 (14%)
Emergency care 271 (74%) 191 (73%) 80 (75%)
Normal care 41 (11%) 30 (12%) 11 (10%)
Unknown 7 6 1
Aerosol-generating procedures banned - caries in deciduous teeth - extraction 0.3
Definitely no 240 (66%) 169 (66%) 71 (67%)
Unlikely 60 (17%) 44 (17%) 16 (15%)
Likely 34 (9.4%) 27 (11%) 7 (6.6%)
Definitely yes 28 (7.7%) 16 (6.2%) 12 (11%)
Unknown 11 10 1
Aerosol-generating procedures banned - caries in deciduous teeth - selective caries removal with hand instruments 0.3
Definitely no 26 (7.1%) 15 (5.8%) 11 (10%)
Unlikely 37 (10%) 25 (9.7%) 12 (11%)
Likely 123 (34%) 92 (36%) 31 (29%)
Definitely yes 178 (49%) 126 (49%) 52 (49%)
Unknown 9 8 1
Aerosol-generating procedures banned - caries in deciduous teeth - Hall crowns 0.5
Definitely no 167 (48%) 114 (47%) 53 (50%)
Unlikely 106 (30%) 78 (32%) 28 (27%)
Likely 51 (15%) 37 (15%) 14 (13%)
Definitely yes 24 (6.9%) 14 (5.8%) 10 (9.5%)
Unknown 25 23 2
Aerosol-generating procedures banned - caries in deciduous teeth - SDF or similar fluoride treatment 0.4
Definitely no 51 (14%) 33 (13%) 18 (17%)
Unlikely 70 (19%) 50 (20%) 20 (19%)
Likely 128 (35%) 87 (34%) 41 (39%)
Definitely yes 112 (31%) 85 (33%) 27 (25%)
Unknown 12 11 1
Aerosol-generating procedures banned - caries in deciduous teeth - nonrestorative treatment 0.8
Definitely no 40 (11%) 28 (11%) 12 (11%)
Unlikely 64 (18%) 47 (19%) 17 (16%)
Likely 121 (34%) 81 (32%) 40 (38%)
Definitely yes 132 (37%) 95 (38%) 37 (35%)
Unknown 16 15 1
Aerosol-generating procedures banned - caries in permanent teeth - extraction 0.4
Definitely no 287 (79%) 203 (79%) 84 (79%)
Unlikely 37 (10%) 29 (11%) 8 (7.5%)
Likely 18 (5.0%) 10 (3.9%) 8 (7.5%)
Definitely yes 20 (5.5%) 14 (5.5%) 6 (5.7%)
Unknown 11 10 1
Aerosol-generating procedures banned - caries in permanent teeth - selective caries removal with hand instruments 0.6
Definitely no 32 (8.8%) 20 (7.7%) 12 (11%)
Unlikely 54 (15%) 37 (14%) 17 (16%)
Likely 145 (40%) 106 (41%) 39 (37%)
Definitely yes 133 (37%) 96 (37%) 37 (35%)
Unknown 9 7 2
Aerosol-generating procedures banned - caries in permanent teeth - sealants 0.4
Definitely no 104 (29%) 73 (29%) 31 (29%)
Unlikely 102 (29%) 78 (31%) 24 (23%)
Likely 97 (27%) 64 (25%) 33 (31%)
Definitely yes 54 (15%) 36 (14%) 18 (17%)
Unknown 16 15 1
Aerosol-generating procedures banned - caries in permanent teeth - SDF or similar fluoride treatment 0.7
Definitely no 49 (13%) 34 (13%) 15 (14%)
Unlikely 86 (24%) 57 (22%) 29 (27%)
Likely 136 (37%) 100 (39%) 36 (34%)
Definitely yes 92 (25%) 66 (26%) 26 (25%)
Unknown 10 9 1
Aerosol-generating procedures banned - caries in permanent teeth - nonrestorative treatment 0.6
Definitely no 41 (11%) 31 (12%) 10 (9.4%)
Unlikely 85 (23%) 64 (25%) 21 (20%)
Likely 115 (32%) 78 (30%) 37 (35%)
Definitely yes 122 (34%) 84 (33%) 38 (36%)
Unknown 10 9 1

1 Statistics presented: n (%)

2 Statistical tests performed: chi-square test of independence

table1::table1(
  ~ x9_jaut + x10_jaut_ekstrakcija + x10_jaut_selektiva + x10_jaut_hall + x10_jaut_sdf + x10_jaut_nerestorativa + x11_jaut_ekstrakcija + x11_jaut_selektiva + x11_jaut_silanti + x11_jaut_sdf + x11_jaut_nerestorativa |
  invazivs2 ,
  data = df
  )
Traditional
(N=321)
Minimally invasive
(N=52)
Overall
(N=373)
If aerosol-generating procedures would be banned, what kind of care would you provide in your clinic?
Would not attend 48 (15.0%) 6 (11.5%) 54 (14.5%)
Emergency care 232 (72.3%) 39 (75.0%) 271 (72.7%)
Normal care 35 (10.9%) 6 (11.5%) 41 (11.0%)
Missing 6 (1.9%) 1 (1.9%) 7 (1.9%)
Aerosol-generating procedures banned - caries in deciduous teeth - extraction
Definitely no 207 (64.5%) 33 (63.5%) 240 (64.3%)
Unlikely 51 (15.9%) 9 (17.3%) 60 (16.1%)
Likely 31 (9.7%) 3 (5.8%) 34 (9.1%)
Definitely yes 22 (6.9%) 6 (11.5%) 28 (7.5%)
Missing 10 (3.1%) 1 (1.9%) 11 (2.9%)
Aerosol-generating procedures banned - caries in deciduous teeth - selective caries removal with hand instruments
Definitely no 23 (7.2%) 3 (5.8%) 26 (7.0%)
Unlikely 31 (9.7%) 6 (11.5%) 37 (9.9%)
Likely 110 (34.3%) 13 (25.0%) 123 (33.0%)
Definitely yes 149 (46.4%) 29 (55.8%) 178 (47.7%)
Missing 8 (2.5%) 1 (1.9%) 9 (2.4%)
Aerosol-generating procedures banned - caries in deciduous teeth - Hall crowns
Definitely no 146 (45.5%) 21 (40.4%) 167 (44.8%)
Unlikely 91 (28.3%) 15 (28.8%) 106 (28.4%)
Likely 42 (13.1%) 9 (17.3%) 51 (13.7%)
Definitely yes 18 (5.6%) 6 (11.5%) 24 (6.4%)
Missing 24 (7.5%) 1 (1.9%) 25 (6.7%)
Aerosol-generating procedures banned - caries in deciduous teeth - SDF or similar fluoride treatment
Definitely no 42 (13.1%) 9 (17.3%) 51 (13.7%)
Unlikely 62 (19.3%) 8 (15.4%) 70 (18.8%)
Likely 109 (34.0%) 19 (36.5%) 128 (34.3%)
Definitely yes 97 (30.2%) 15 (28.8%) 112 (30.0%)
Missing 11 (3.4%) 1 (1.9%) 12 (3.2%)
Aerosol-generating procedures banned - caries in deciduous teeth - nonrestorative treatment
Definitely no 36 (11.2%) 4 (7.7%) 40 (10.7%)
Unlikely 58 (18.1%) 6 (11.5%) 64 (17.2%)
Likely 104 (32.4%) 17 (32.7%) 121 (32.4%)
Definitely yes 108 (33.6%) 24 (46.2%) 132 (35.4%)
Missing 15 (4.7%) 1 (1.9%) 16 (4.3%)
Aerosol-generating procedures banned - caries in permanent teeth - extraction
Definitely no 248 (77.3%) 39 (75.0%) 287 (76.9%)
Unlikely 31 (9.7%) 6 (11.5%) 37 (9.9%)
Likely 15 (4.7%) 3 (5.8%) 18 (4.8%)
Definitely yes 17 (5.3%) 3 (5.8%) 20 (5.4%)
Missing 10 (3.1%) 1 (1.9%) 11 (2.9%)
Aerosol-generating procedures banned - caries in permanent teeth - selective caries removal with hand instruments
Definitely no 29 (9.0%) 3 (5.8%) 32 (8.6%)
Unlikely 49 (15.3%) 5 (9.6%) 54 (14.5%)
Likely 124 (38.6%) 21 (40.4%) 145 (38.9%)
Definitely yes 111 (34.6%) 22 (42.3%) 133 (35.7%)
Missing 8 (2.5%) 1 (1.9%) 9 (2.4%)
Aerosol-generating procedures banned - caries in permanent teeth - sealants
Definitely no 91 (28.3%) 13 (25.0%) 104 (27.9%)
Unlikely 94 (29.3%) 8 (15.4%) 102 (27.3%)
Likely 79 (24.6%) 18 (34.6%) 97 (26.0%)
Definitely yes 42 (13.1%) 12 (23.1%) 54 (14.5%)
Missing 15 (4.7%) 1 (1.9%) 16 (4.3%)
Aerosol-generating procedures banned - caries in permanent teeth - SDF or similar fluoride treatment
Definitely no 41 (12.8%) 8 (15.4%) 49 (13.1%)
Unlikely 74 (23.1%) 12 (23.1%) 86 (23.1%)
Likely 122 (38.0%) 14 (26.9%) 136 (36.5%)
Definitely yes 75 (23.4%) 17 (32.7%) 92 (24.7%)
Missing 9 (2.8%) 1 (1.9%) 10 (2.7%)
Aerosol-generating procedures banned - caries in permanent teeth - nonrestorative treatment
Definitely no 35 (10.9%) 6 (11.5%) 41 (11.0%)
Unlikely 77 (24.0%) 8 (15.4%) 85 (22.8%)
Likely 101 (31.5%) 14 (26.9%) 115 (30.8%)
Definitely yes 99 (30.8%) 23 (44.2%) 122 (32.7%)
Missing 9 (2.8%) 1 (1.9%) 10 (2.7%)

Data visualization

df %>% 
  janitor::tabyl(x2_gads_kura_ieguvat_zobarsta_gradu)
df %>% 
  janitor::tabyl(x2_gads_kura_ieguvat_zobarsta_gradu) %>% 
  ggplot(aes(x = x2_gads_kura_ieguvat_zobarsta_gradu,
         y = percent)) +
  geom_col()

Figure 1

Intervention

df %>%
  janitor::tabyl(x5_jaut_kods) %>%  # make a table to extract the percentages
  ggplot(aes(x =  x5_jaut_kods,
             y = percent,
             label = percent)) +
  geom_col() + 
  # geom_col(fill = "#7e0000ff") +
  geom_label(
    aes(label = scales::percent(percent)),
    position = position_dodge(0),
    color = "black",
    size = 10.5, 
    vjust = 0.5,
    show.legend = FALSE
  ) +
  labs(
    y = "", 
    x = ""
  ) +
  scale_x_reverse() +  # inverse levels
  scale_y_continuous(labels = scales::label_percent(accuracy = 1L),
                     limits = c(0, 1))  # convert the y axis to percentage scale

df %>%
  janitor::tabyl(x6_jaut_kods) %>%  # make a table to extract the percentages
  ggplot(aes(x =  x6_jaut_kods,
             y = percent,
             label = percent)) +
  geom_col() + 
  # geom_col(fill = "#7e0000ff") +
  geom_label(
    aes(label = scales::percent(percent)),
    position = position_dodge(0),
    color = "black",
    size = 10.5, 
    vjust = 0.5,
    show.legend = FALSE
  ) +
  labs(
    y = "", 
    x = ""
  ) +
  scale_x_reverse() +  # inverse levels
  scale_y_continuous(labels = scales::label_percent(accuracy = 1L),
                     limits = c(0, 1))  # convert the y axis to percentage scale

df %>%
  janitor::tabyl(x7_jaut_kods) %>%  # make a table to extract the percentages
  ggplot(aes(
    x = x7_jaut_kods, 
    y = percent, 
    label = percent
  )) + 
  geom_col(width = .5) +
  # geom_col(fill="#7e0000ff") +
  geom_label(
    aes(label = scales::percent(percent)),
    position = position_dodge(0),
    color = "black",
    size = 10.5,
    vjust = 0.5,
    show.legend = FALSE
  ) +
  labs(y = "",
       x = "") +
  scale_y_continuous(labels = scales::label_percent(accuracy = 1L), 
                     limits=c(0,1))   # convert the y axis to percentage scale 

df %>%
  janitor::tabyl(x8_jaut_kods) %>%  # make a table to extract the percentages
  ggplot(aes(
    x = x8_jaut_kods, 
    y = percent, 
    label = percent
  )) + 
  geom_col(width = 0.5) +
  # geom_col(fill="#7e0000ff") +
  geom_label(
    aes(label = scales::percent(percent)),
    position = position_dodge(0),
    color = "black",
    size = 10.5,
    vjust = 0.5,
    show.legend = FALSE
  ) +
  labs(y = "",
       x = "") +
  scale_y_continuous(labels = scales::label_percent(accuracy = 1L), 
                     limits=c(0,1))   # convert the y axis to percentage scale 

df %>% 
  janitor::tabyl(invazivs2) %>%  # make a table to extract the percentages
  ggplot(aes(
    x = invazivs2, 
    y = percent, 
    label = percent
  )) + 
  geom_col(fill="#7e0000ff") + 
  geom_label(aes(label = scales::percent(percent)), 
             position = position_dodge(0.9), 
             color = "black", vjust = 1, show.legend = FALSE) +
  scale_y_continuous(labels = scales::label_percent(accuracy = 1L), 
                     limits=c(0,1)) + # convert the y axis to percentage scale +
labs(
  x = "", 
  y = ""
)

df %>% 
  ggplot(aes(
    x = x2_gads_kura_ieguvat_zobarsta_gradu,
    y = kodu_summa,
  )) +
  geom_point(color="#7e0000ff") +
  labs(
  x = "", 
  y = ""
)

## Figures of Lickert questions by type of dentists

Izveidoju atsevišķas datu bāzes katrai analīzei

Banned <- df %>% 
  select(x10_jaut_ekstrakcija : x11_jaut_nerestorativa)
sjPlot::plot_likert(Banned)

sjPlot::plot_likert(Banned, sort.frq = "pos.asc")

rm(Banned)
Banned_noinvasive <- df %>% 
  filter(invazivs2 == "Minimally invasive") %>% 
  select(x10_jaut_ekstrakcija : x11_jaut_nerestorativa)  
sjPlot::plot_likert(Banned_noinvasive)

sjPlot::plot_likert(Banned_noinvasive, sort.frq = "pos.asc")

rm(Banned_deciduous_noinvasive)
Banned_traditional <- df %>% 
  filter(invazivs2 == "Traditional") %>% 
  select(x10_jaut_ekstrakcija : x11_jaut_nerestorativa)  
sjPlot::plot_likert(Banned_traditional)

sjPlot::plot_likert(Banned_traditional, sort.frq = "pos.asc")

rm(Banned_traditional)
Recommendations <- df %>% 
  select(x13_jaut_ekstrakcija : x14_jaut_nerestorativa)
sjPlot::plot_likert(Recommendations)

sjPlot::plot_likert(Recommendations, sort.frq = "pos.asc")

rm(Recommendations)
Recommendations_noinvasive <- df %>% 
  filter(invazivs2 == "Minimally invasive") %>% 
  select(x13_jaut_ekstrakcija : x14_jaut_nerestorativa)
sjPlot::plot_likert(Recommendations_noinvasive)

sjPlot::plot_likert(Recommendations_noinvasive, sort.frq = "pos.asc")

rm(Recommendations_noinvasive)
Recommendations_traditional <- df %>% 
  filter(invazivs2 == "Traditional") %>% 
  select(x13_jaut_ekstrakcija : x14_jaut_nerestorativa)
sjPlot::plot_likert(Recommendations_traditional)

sjPlot::plot_likert(Recommendations_traditional, sort.frq = "pos.asc")

rm(Recommendations_traditional)

Deciduous and permanent separately for banned

Deciduos total

Banned_deciduous <- df %>% 
  select(x10_jaut_ekstrakcija : x10_jaut_nerestorativa)
sjPlot::plot_likert(Banned_deciduous)

sjPlot::plot_likert(Banned_deciduous, sort.frq = "pos.asc", 
                    # geom.colors = "gs", 
                     values = "sum.outside", 
                    show.prc.sign = TRUE)

sjPlot::plot_likert(Banned_deciduous, sort.frq = "pos.asc", 
                    geom.colors = "gs", 
                     values = "sum.outside", 
                    show.prc.sign = TRUE)

ggsave(path = "figure", filename = "primary_total.jpg", width = 14, height = 14, units = "cm")
rm(Banned_deciduous)

Deciduous no invasive

Banned_deciduous_noinvasive <- df %>% 
  filter(invazivs2 == "Minimally invasive") %>% 
  select(x10_jaut_ekstrakcija : x10_jaut_nerestorativa)
sjPlot::plot_likert(Banned_deciduous_noinvasive)

sjPlot::plot_likert(Banned_deciduous_noinvasive, sort.frq = "pos.asc")

rm(Banned_deciduous_noinvasive)

Deciduous traditional

Banned_deciduous_traditional <- df %>% 
  filter(invazivs2 == "Traditional") %>% 
  select(x10_jaut_ekstrakcija : x10_jaut_nerestorativa)
sjPlot::plot_likert(Banned_deciduous_traditional)

sjPlot::plot_likert(Banned_deciduous_traditional, sort.frq = "pos.asc")

rm(Banned_deciduous_traditional)

Permanent total

Banned_permanent <- df %>% 
  select(x11_jaut_ekstrakcija : x11_jaut_nerestorativa)
sjPlot::plot_likert(
  Banned_permanent,
  sort.frq = "pos.asc", 
  # geom.colors = "gs",
  values = "sum.outside",
  show.prc.sign = TRUE
)

ggsave(path = "figure", filename = "permanent_total.jpg", width = 14, height = 14, units = "cm")
sjPlot::plot_likert(Banned_permanent, sort.frq = "pos.asc")

tiff("Plot303.tiff", width = 12, height = 6, units = 'in', res = 300)
sjPlot::plot_likert(Banned_permanent, sort.frq = "pos.asc")
dev.off()
## png 
##   2
rm(Banned_permanent)

Permanent no invasive

Banned_permanent_noinvasive <- df %>% 
  filter(invazivs2 == "Minimally invasive") %>% 
  select(x11_jaut_ekstrakcija : x11_jaut_nerestorativa)
sjPlot::plot_likert(Banned_permanent_noinvasive)

sjPlot::plot_likert(Banned_permanent_noinvasive, sort.frq = "pos.asc")

rm(Banned_permanent_noinvasive)

Permanent traditional

Banned_permanent_traditional <- df %>% 
  filter(invazivs2 == "Traditional") %>% 
  select(x11_jaut_ekstrakcija : x11_jaut_nerestorativa)
sjPlot::plot_likert(Banned_permanent_traditional)

sjPlot::plot_likert(Banned_permanent_traditional, sort.frq = "pos.asc")

rm(Banned_permanent_traditional)

Deciduous and permanent separately for recommendation

Deciduous total

Recommendations_deciduous <- df %>% 
  select(x13_jaut_ekstrakcija : x13_jaut_nerestorativa)
sjPlot::plot_likert(Recommendations_deciduous,
                    sort.frq = "pos.asc", 
                    # geom.colors = "gs", 
                     values = "sum.outside", 
                    show.prc.sign = TRUE)

ggsave(path = "figure", filename = "primary_total_2.jpg", width = 14, height = 14, units = "cm")
sjPlot::plot_likert(Recommendations_deciduous, sort.frq = "pos.asc")

tiff("Plot301.tiff", width = 12, height = 6, units = 'in', res = 300)
sjPlot::plot_likert(Recommendations_deciduous,  sort.frq = "pos.asc")
dev.off()
## png 
##   2
rm(Recommendations_deciduous)

Deciduos no invasive

Recommendations_deciduous_noinvasive <- df %>% 
  filter(invazivs2 == "Minimally invasive") %>% 
  select(x13_jaut_ekstrakcija : x13_jaut_nerestorativa)
sjPlot::plot_likert(Recommendations_deciduous_noinvasive, title = "Recommendations - primary - non invasive")

sjPlot::plot_likert(Recommendations_deciduous_noinvasive, sort.frq = "pos.asc")

rm(Recommendations_deciduous_noinvasive)

Deciduous traditional

Recommendations_deciduous_traditional <- df %>% 
  filter(invazivs2 == "Traditional") %>% 
  select(x13_jaut_ekstrakcija : x13_jaut_nerestorativa)
sjPlot::plot_likert(Recommendations_deciduous_traditional, title = "Recommendations - deciduous - traditional")

sjPlot::plot_likert(Recommendations_deciduous_traditional, sort.frq = "pos.asc")

rm(Recommendations_deciduous_traditional)

Permanent total

Recommendations_permanent <- df %>% 
  select(x14_jaut_ekstrakcija : x14_jaut_nerestorativa)
sjPlot::plot_likert(Recommendations_permanent, 
                    sort.frq = "pos.asc", 
                    # geom.colors = "gs", 
                     values = "sum.outside", 
                    show.prc.sign = TRUE)

ggsave(path = "figure", filename = "permanent_total_2.jpg", width = 14, height = 14, units = "cm")
sjPlot::plot_likert(Recommendations_permanent, sort.frq = "pos.asc")

tiff("Plot304.tiff", width = 12, height = 6, units = 'in', res = 300)
sjPlot::plot_likert(Recommendations_permanent, sort.frq = "pos.asc")
dev.off()
## png 
##   2
rm(Recommendations_permanent)

Permanent noinvasive

Recommendations_permanent_noinvasive <- df %>% 
  filter(invazivs2 == "Minimally invasive") %>% 
  select(x14_jaut_ekstrakcija : x14_jaut_nerestorativa)
sjPlot::plot_likert(Recommendations_permanent_noinvasive, title = "Recommendations - permanent - No invasive")

sjPlot::plot_likert(Recommendations_permanent_noinvasive, sort.frq = "pos.asc")

rm(Recommendations_permanent_noinvasive)

Permanent traditional

Recommendations_permanent_traditional <- df %>% 
  filter(invazivs2 == "Traditional") %>% 
  select(x14_jaut_ekstrakcija : x14_jaut_nerestorativa)
sjPlot::plot_likert(Recommendations_permanent_traditional, title = "Recommendations - permanent - traditional")

sjPlot::plot_likert(Recommendations_permanent_traditional, sort.frq = "pos.asc")

rm(Recommendations_permanent_traditional)

Review 1

EDITOR: The statistical analysis is poor, restricted to descriptive results and of a major concern. The authors are should test at least test possible associations between the independent variables and the outcome.

R1 4. Figure 2: there is no information about difference in dentists’ choices between “Recommendations to avoid AGP” and “Prohibition of AGP use”. Were these differences statistically significant? I recommend to describe these differences in the text.

Fig 1

prop.test(x = c(56, 37), n = c(373, 373))
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  c(56, 37) out of c(373, 373)
## X-squared = 3.98, df = 1, p-value = 0.04604
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  0.0009887183 0.1008879574
## sample estimates:
##     prop 1     prop 2 
## 0.15013405 0.09919571
prop.test(x = c(276, 201), n = c(373, 373))
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  c(276, 201) out of c(373, 373)
## X-squared = 31.837, df = 1, p-value = 1.677e-08
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  0.1310052 0.2711395
## sample estimates:
##    prop 1    prop 2 
## 0.7399464 0.5388740
prop.test(x = c(41, 134), n = c(373, 373))
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  c(41, 134) out of c(373, 373)
## X-squared = 63.189, df = 1, p-value = 1.878e-15
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.3101337 -0.1885258
## sample estimates:
##    prop 1    prop 2 
## 0.1099196 0.3592493

Fig 2

Check numbers here https://docs.google.com/spreadsheets/d/16pBWY0VIeQlsExYIE4eSgmD-z95SQvBTmnYfqwEyAzE/edit#gid=0

Selective

prop.test(x = c(84, 65), n = c(373, 373))
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  c(84, 65) out of c(373, 373)
## X-squared = 2.7172, df = 1, p-value = 0.09927
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.009004705  0.110881380
## sample estimates:
##    prop 1    prop 2 
## 0.2252011 0.1742627

Non

prop.test(x = c(104, 109), n = c(373, 373))
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  c(104, 109) out of c(373, 373)
## X-squared = 0.10514, df = 1, p-value = 0.7458
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.08090078  0.05409113
## sample estimates:
##    prop 1    prop 2 
## 0.2788204 0.2922252

SDF

prop.test(x = c(125, 125), n = c(373, 373))
## 
##  2-sample test for equality of proportions without continuity
##  correction
## 
## data:  c(125, 125) out of c(373, 373)
## X-squared = 0, df = 1, p-value = 1
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.06774554  0.06774554
## sample estimates:
##    prop 1    prop 2 
## 0.3351206 0.3351206

Hall

prop.test(x = c(286, 293), n = c(373, 373))
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  c(286, 293) out of c(373, 373)
## X-squared = 0.27775, df = 1, p-value = 0.5982
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.08125545  0.04372194
## sample estimates:
##    prop 1    prop 2 
## 0.7667560 0.7855228

Extraction

prop.test(x = c(316, 309), n = c(373, 373))
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  c(316, 309) out of c(373, 373)
## X-squared = 0.35512, df = 1, p-value = 0.5512
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.03680278  0.07433629
## sample estimates:
##    prop 1    prop 2 
## 0.8471850 0.8284182

Selective

prop.test(x = c(92, 88), n = c(373, 373))
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  c(92, 88) out of c(373, 373)
## X-squared = 0.065901, df = 1, p-value = 0.7974
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.05335878  0.07480650
## sample estimates:
##    prop 1    prop 2 
## 0.2466488 0.2359249

Non

prop.test(x = c(121, 129), n = c(373, 373))
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  c(121, 129) out of c(373, 373)
## X-squared = 0.29479, df = 1, p-value = 0.5872
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.09185674  0.04896130
## sample estimates:
##    prop 1    prop 2 
## 0.3243968 0.3458445

SDF

prop.test(x = c(141, 139), n = c(373, 373))
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  c(141, 139) out of c(373, 373)
## X-squared = 0.0057174, df = 1, p-value = 0.9397
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.06681109  0.07753495
## sample estimates:
##    prop 1    prop 2 
## 0.3780161 0.3726542

Traditional

prop.test(x = c(215, 215), n = c(373, 373))
## 
##  2-sample test for equality of proportions without continuity
##  correction
## 
## data:  c(215, 215) out of c(373, 373)
## X-squared = 1.774e-29, df = 1, p-value = 1
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.07091655  0.07091655
## sample estimates:
##    prop 1    prop 2 
## 0.5764075 0.5764075

Extraction

prop.test(x = c(335, 334), n = c(373, 373))
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  c(335, 334) out of c(373, 373)
## X-squared = 1.0491e-29, df = 1, p-value = 1
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.04366405  0.04902598
## sample estimates:
##    prop 1    prop 2 
## 0.8981233 0.8954424

R2. 3. c-the data analysis is really poor. I suggest the authors to perform some bivariate analysis to associate the effect of restrictions on dental care on dentists.

Make the Ilze’s table

recode

TRADITIONAL def no unlikely likely def yes Extraction 1 2 3 4 Restoration 1 2 3 4

MINIMALLY INVASIVE def no unlikely likely def yes Select 1 2 3 4 NRCC 1 2 3 4

etc

df_recoded_delete_after_use <- df %>%
  # for the TRADITIONAL
  # reformat the columns
  pivot_longer(
    c(
      "x10_jaut_ekstrakcija",
      "x11_jaut_ekstrakcija",
      "x13_jaut_ekstrakcija" ,
      "x13_jaut_tradicionala",
      "x14_jaut_ekstrakcija" ,
      "x14_jaut_tradicionala"
    ),
    names_to = "traditional_methods_numeric",
    values_to = "traditional_methods_numeric_values"
  ) %>%
  # create a new column for the code name
  mutate(traditional_methods_code = str_replace(traditional_methods_numeric, "jaut", "code")) %>%
  
  # create a new column for the code values
  mutate(
    traditional_methods_code_values = case_when(
      traditional_methods_numeric_values == "Definitely no" ~ 1,
      traditional_methods_numeric_values == "Unlikely" ~ 2,
      traditional_methods_numeric_values == "Likely" ~ 3,
      traditional_methods_numeric_values == "Definitely yes" ~ 4,
    )
  ) %>%
  
  # for the MINIMALLY
  # reformat the columns
  pivot_longer(
    c(
      "x10_jaut_selektiva" ,
      "x10_jaut_hall"       ,
      "x10_jaut_sdf",
      "x10_jaut_nerestorativa",
      "x11_jaut_selektiva"   ,
      "x11_jaut_silanti"      ,
      "x11_jaut_sdf",
      "x11_jaut_nerestorativa",
      "x13_jaut_selektiva"     ,
      "x13_jaut_hall"           ,
      "x13_jaut_sdf"             ,
      "x13_jaut_nerestorativa",
      "x14_jaut_selektiva"     ,
      "x14_jaut_silanti"        ,
      "x14_jaut_sdf"             ,
      "x14_jaut_nerestorativa"
    ),
    names_to = "minimally_methods_numeric",
    values_to = "minimally_methods_numeric_values"
  ) %>%
  # create a new column for the code name
  mutate(minimally_methods_code = str_replace(minimally_methods_numeric, "jaut", "code")) %>%
  
  # create a new column for the code values
  mutate(
    minimally_methods_code_values = case_when(
      minimally_methods_numeric_values == "Definitely no" ~ 4,
      minimally_methods_numeric_values == "Unlikely" ~ 3,
      minimally_methods_numeric_values == "Likely" ~ 2,
      minimally_methods_numeric_values == "Definitely yes" ~ 1,
    )
  ) %>%
   select(ID, 
         traditional_methods_code, 
         traditional_methods_code_values, 
         minimally_methods_code, 
         minimally_methods_code_values) %>% 
  filter(!is.na(traditional_methods_code_values)) %>% 
  filter(!is.na(minimally_methods_code_values)) %>% 
  pivot_wider(names_from = traditional_methods_code, 
              values_from = traditional_methods_code_values) %>% 
  pivot_wider(names_from = minimally_methods_code, 
              values_from = minimally_methods_code_values)
  



# janitor::tabyl(traditional_methods_numeric,
#                 traditional_methods_code_values) %>%
  
  
#  pivot_wider(names_from = traditional_methods_numeric, 
#              values_from = traditional_methods_numeric_values) 

Sum columns to create x10, x11 and x13, x14 sums to classify dentists as traditional or minimally invasive

prohibition = sum columns x10 + x11 and if >= 21 then TRADITIONAL if else MINIMALLY INVASIVE DENT recommendation = sum columns x13 + x14 and if >= 25 then TRADITIONAL if else MINIMALLY INVASIVE DENT

df_recoded_delete_after_use <- df_recoded_delete_after_use %>% 
  mutate(sum_final_prohibition = rowSums(select(., starts_with(c("x10", "x11"))), na.rm = FALSE)) %>% 
  mutate(sum_final_recommendation = rowSums(select(., starts_with(c("x13", "x14"))), na.rm = FALSE)) %>% 
  # relocate(sum_final_recommendation, .after = ID) %>% 
  # relocate(sum_final_prohibition, .after = ID) %>% 
  # visdat::vis_dat() # to check the NAs
  mutate(type_after_prohibition = case_when(
    sum_final_prohibition >= 21 ~ "Traditional",  
    sum_final_prohibition <= 20 ~ "Minimally invasive", 
    TRUE ~ as.character(NA)
  )) %>% 
    mutate(type_after_recommendation = case_when(
    sum_final_recommendation >= 25 ~ "Traditional",  
    sum_final_recommendation <= 24 ~ "Minimally invasive", 
    TRUE ~ as.character(NA)
  )) %>% 
  select(ID, sum_final_prohibition:type_after_recommendation) 

merge the two datasets

df <- left_join(df, 
          df_recoded_delete_after_use, 
          by = "ID")
rm(df_recoded_delete_after_use)

Explore the prohibition and recommendation status

df %>% 
  ggplot(aes(x = sum_final_prohibition)) + 
  geom_histogram()

df %>% 
  ggplot(aes(x = sum_final_recommendation)) + 
  geom_histogram()

Correlation between both points

df %>%
  filter(!is.na(sum_final_recommendation)) %>% 
  filter(!is.na(sum_final_recommendation)) %>% 
  filter(!is.na(x4_vai_jus_arstejat_mazus_bernus_piena_zobus)) %>% 
  ggplot(aes(x = sum_final_prohibition,
             y = sum_final_recommendation,
             color = x4_vai_jus_arstejat_mazus_bernus_piena_zobus)) +
  geom_jitter()  +
  theme_minimal() +
  # ggpubr::theme_classic2() +
  theme(legend.position = "bottom") +
  labs(
    title = "Correlation between baseline value and change \nafter prohibition or recommendation ",
    x = "Sum for prohibition",
    y = "Sum for recommendation",
    color = "Type of practice"
  ) + 
  facet_grid(.~summa2)

Create two new variables, classifying a dentist as minimally invasive dentist or traditional if

sum_final_prohibition equal or less 20 = minimally invasive, TRUE ~ traditional sum_final_recommendation equal or less 24 = minimally, TRUE ~ traditional

Summas

df <- df %>%
  mutate(
    dentist_after_prohibition = case_when(
      sum_final_prohibition <= 20 ~ "Minimally invasive",
      TRUE ~ "Traditional"
    )
  ) %>%
  mutate(
    dentist_after_recommendation = case_when(
      sum_final_recommendation <= 24 ~ "Minimally invasive",
      TRUE ~ "Traditional"
    )) 

Check Invazivs2 vs change after prohibition or recommendation

df %>% 
  tabyl(dentist_after_prohibition, dentist_after_recommendation, invazivs2)
## $Traditional
##  dentist_after_prohibition Minimally invasive Traditional
##         Minimally invasive                 95          36
##                Traditional                 25         165
## 
## $`Minimally invasive`
##  dentist_after_prohibition Minimally invasive Traditional
##         Minimally invasive                 26           4
##                Traditional                  7          15

then classify as change if invazivs2 equal or different to after_prohibition or after_recommendation

create a new variable with the change from baseline

change from baseline to prohibition

df <- df %>% 
  mutate(change_for_baseline_to_prohibition = case_when(
    invazivs2 == "Traditional"  & dentist_after_prohibition ==  "Minimally invasive" ~ "Change to less invasive", 
    invazivs2 == "Minimally invasive"  & dentist_after_prohibition ==  "Traditional" ~ "Change to more invasive", 
    TRUE ~ "No change"
  )) %>% 
  mutate(change_for_baseline_to_recommendation = case_when(
    invazivs2 == "Traditional"  & dentist_after_recommendation ==  "Minimally invasive" ~ "Change to less invasive", 
    invazivs2 == "Minimally invasive"  & dentist_after_recommendation ==  "Traditional" ~ "Change to more invasive", 
    TRUE ~ "No change"
  )) 

Relevel the levels of change to change to invasive - no change - change to less invasive

df <- df %>%
  mutate(
    change_for_baseline_to_prohibition = fct_relevel(
      change_for_baseline_to_prohibition,
      "Change to less invasive",
      "No change",
      "Change to more invasive"
    )
  ) %>%
  mutate(
    change_for_baseline_to_recommendation = fct_relevel(
      change_for_baseline_to_recommendation,
      "Change to less invasive",
      "No change",
      "Change to more invasive"
    )
  ) 

Identify the change of the dentists from invazivs1 to type_after_recommendation y prohibition

df <- df %>%
  select(
    ID,
    # explanatory variables
    x1_jusu_dzimums,
    x2_gads_kura_ieguvat_zobarsta_gradu,
    x3_vai_esat_ieguvis_specialista_gradu,
    x4_vai_jus_arstejat_mazus_bernus_piena_zobus,
    # baseline
    invazivs1,
    invazivs2,
    # status after recommendation
    type_after_recommendation,
    # status after prohibition
    type_after_prohibition
  ) %>%
  # make the change column
  # from invazivs1
  mutate(
    change_after_reccomendation_i1 = case_when(
      invazivs1 == "Traditional" &
        type_after_recommendation == "Minimally invasive" ~ "Change to LESS invasive",
      invazivs1 == "Minimally invasive" &
        type_after_recommendation == "Traditional" ~ "Change to MORE invasive",
      TRUE ~ "No change"
    )
  )

Change from I1

After prohibition

df %>%
  filter(!is.na(type_after_prohibition)) %>%
  ggplot(aes(x = invazivs1,
             fill = type_after_prohibition)) +
  geom_bar(stat = "count") +
  stat_count(
    geom = "text",
    colour = "white",
    size = 3.5,
    aes(label = ..count..),
    position = position_stack(vjust = 0.8)
  ) + 
  labs(title = "Change from baseline after prohibition (I1)", 
       x = "Baseline", 
       fill = "Change", 
       y = "Count")

df %>%
  filter(!is.na(type_after_prohibition)) %>%
  ggplot(aes(x = invazivs2,
             fill = type_after_prohibition)) +
  geom_bar(stat = "count") +
  stat_count(
    geom = "text",
    colour = "white",
    size = 3.5,
    aes(label = ..count..),
    position = position_stack(vjust = 0.8)
  ) + 
  labs(title = "Change from baseline after prohibition (I2)", 
       x = "Baseline", 
       fill = "Change", 
       y = "Count")

### After recommendation

df %>%
  filter(!is.na(type_after_recommendation)) %>%
  ggplot(aes(x = invazivs1,
             fill = type_after_recommendation)) +
  geom_bar(stat = "count") +
  stat_count(
    geom = "text",
    colour = "white",
    size = 3.5,
    aes(label = ..count..),
    position = position_stack(vjust = 0.8)
  ) + 
  labs(title = "Change from baseline after recommendation (I1)", 
       x = "Baseline", 
       fill = "Change", 
       y = "Count")

df %>%
  filter(!is.na(type_after_recommendation)) %>%
  ggplot(aes(x = invazivs2,
             fill = type_after_recommendation)) +
  geom_bar(stat = "count") +
  stat_count(
    geom = "text",
    colour = "white",
    size = 3.5,
    aes(label = ..count..),
    position = position_stack(vjust = 0.8)
  ) + 
  labs(title = "Change from baseline after recommendation (I2)", 
       x = "Baseline", 
       fill = "Change", 
       y = "Count")

mosaicplot(table(df$invazivs1, df$type_after_recommendation), shade = T)

mosaicplot(table(df$invazivs1, df$type_after_prohibition), shade = T)

mosaicplot(table(df$invazivs2, df$type_after_recommendation), shade = T)

mosaicplot(table(df$invazivs2, df$type_after_prohibition), shade = T)

## Tables ### Prohibition

df %>%
  janitor::tabyl(invazivs1, type_after_prohibition) %>%
  adorn_percentages("row") %>%
  adorn_pct_formatting(digits = 2) %>%
  #adorn_title("combined") %>%
  adorn_ns()  %>%
  knitr::kable()
invazivs1 Minimally invasive Traditional NA_
Traditional 42.11% (112) 44.74% (119) 13.16% (35)
Minimally invasive 45.79% (49) 51.40% (55) 2.80% (3)
df %>%
  janitor::tabyl(invazivs1, type_after_prohibition) %>%
  adorn_percentages("row") %>%
  adorn_pct_formatting(digits = 2) %>%
  #adorn_title("combined") %>%
  adorn_ns() %>%
  knitr::kable()
invazivs1 Minimally invasive Traditional NA_
Traditional 42.11% (112) 44.74% (119) 13.16% (35)
Minimally invasive 45.79% (49) 51.40% (55) 2.80% (3)
df %>%
  janitor::tabyl(invazivs2, type_after_recommendation) %>%
  adorn_percentages("row") %>%
  adorn_pct_formatting(digits = 2) %>%
  #adorn_title("combined") %>%
  adorn_ns() %>%
  knitr::kable()
invazivs2 Minimally invasive Traditional NA_
Traditional 37.38% (120) 51.09% (164) 11.53% (37)
Minimally invasive 63.46% (33) 34.62% (18) 1.92% (1)
df %>%
  janitor::tabyl(invazivs2, type_after_prohibition) %>%
  adorn_percentages("row") %>%
  adorn_pct_formatting(digits = 2) %>%
  #adorn_title("combined") %>%
  adorn_ns() %>%
  knitr::kable()
invazivs2 Minimally invasive Traditional NA_
Traditional 40.81% (131) 47.66% (153) 11.53% (37)
Minimally invasive 57.69% (30) 40.38% (21) 1.92% (1)

Recommendation

df %>%
  janitor::tabyl(invazivs1, type_after_recommendation) %>%
  adorn_percentages("row") %>%
  adorn_pct_formatting(digits = 2) %>%
  #adorn_title("combined") %>%
  adorn_ns() %>%
  knitr::kable()
invazivs1 Minimally invasive Traditional NA_
Traditional 37.22% (99) 49.25% (131) 13.53% (36)
Minimally invasive 50.47% (54) 47.66% (51) 1.87% (2)
df %>%
  janitor::tabyl(invazivs1, type_after_recommendation) %>%
  adorn_percentages("row") %>%
  adorn_pct_formatting(digits = 2) %>%
  #adorn_title("combined") %>%
  adorn_ns() %>%
  knitr::kable()
invazivs1 Minimally invasive Traditional NA_
Traditional 37.22% (99) 49.25% (131) 13.53% (36)
Minimally invasive 50.47% (54) 47.66% (51) 1.87% (2)
df %>%
  janitor::tabyl(invazivs2, type_after_recommendation) %>%
  adorn_percentages("row") %>%
  adorn_pct_formatting(digits = 2) %>%
  #adorn_title("combined") %>%
  adorn_ns() %>%
  knitr::kable()
invazivs2 Minimally invasive Traditional NA_
Traditional 37.38% (120) 51.09% (164) 11.53% (37)
Minimally invasive 63.46% (33) 34.62% (18) 1.92% (1)
df %>%
  janitor::tabyl(invazivs2, type_after_recommendation) %>%
  adorn_percentages("row") %>%
  adorn_pct_formatting(digits = 2) %>%
  #adorn_title("combined") %>%
  adorn_ns() %>%
  knitr::kable()
invazivs2 Minimally invasive Traditional NA_
Traditional 37.38% (120) 51.09% (164) 11.53% (37)
Minimally invasive 63.46% (33) 34.62% (18) 1.92% (1)

Alluvial plot

pacman::p_load(ggalluvial)

Format in alluvial shape

df %>%
  # count for each level
  select(invazivs1, type_after_recommendation, type_after_prohibition) %>%
  group_by(invazivs1, type_after_recommendation, type_after_prohibition) %>%
  count() %>%
  
  # remove NAs values
  drop_na() %>%
  
  # now the plot
  ggplot(
    aes(
      y = n,
      axis1 = invazivs1,
      axis2 = type_after_recommendation,
      axis3 = type_after_prohibition
    )
  ) +
  geom_alluvium(aes(fill = invazivs1), width = 1 / 12) +
  geom_stratum(width = 1 / 12,
               fill = "black",
               color = "grey") +
  geom_label(stat = "stratum", aes(label = after_stat(stratum))) +
  scale_x_discrete(limits = c("Baseline", "After recommendation", "After prohibition"), 
                   expand = c(.13, .01)) +
  scale_fill_brewer(type = "qual", palette = "Set1") +
  labs(title = "Caries treatment decisions after recommendation to\navoid AGP and after prohibition of AGP ", 
       y = "Count") +
  theme(legend.position = "None") +
  geom_text(x=3, y=30, label="Scatter plot")

DONT USE After prohibition

df %>%
  # count for each level
  select(invazivs1, type_after_prohibition) %>%
  group_by(invazivs1, type_after_prohibition) %>%
  count()  %>% 
  
  # remove NAs values
  drop_na() %>%
  
  # now the plot
  ggplot(aes(y = n,
             axis1 = invazivs1,
             axis2 = type_after_prohibition)) +
  scale_x_discrete(expand = c(.1, .1)) +
  geom_flow() +
  geom_stratum(alpha = .5)  +
  geom_alluvium(aes(fill = invazivs1)) +
  labs(title = "NOT USE! Caries treatment decisions after prohibition of AGP ",
       y = "Count",
       fill = "Baseline") +
  scale_x_discrete(limits = c("Baseline", "After prohibition"),
                   expand = c(.15, .01)) +
  geom_label(stat = "stratum", aes(label = after_stat(stratum)))

### After recommendation

Calculate the percentages

df %>%
  # count for each level
  select(invazivs1, type_after_recommendation) %>%
  group_by(invazivs1, type_after_recommendation) %>%
  count() 
p1 <- df %>%
  # count for each level
  select(invazivs1, type_after_recommendation) %>%
  group_by(invazivs1, type_after_recommendation) %>%
  count() %>%
  
  # remove NAs values
  drop_na() %>%
  
  # now the plot
  ggplot(aes(y = n,
             axis1 = invazivs1,
             axis2 = type_after_recommendation)) +
  geom_alluvium(aes(fill = invazivs1), width = 1 / 12) +
  geom_stratum(width = 1 / 12,
               fill = "black",
               color = "grey") +
  geom_label(stat = "stratum", aes(label = after_stat(stratum))) +
  scale_x_discrete(
    limits = c("Baseline", "After recommendations"),
    expand = c(.15, .01)
  ) +
  scale_fill_brewer(type = "qual", palette = "Set1") +
  labs(title = "A. Caries treatment decisions after recommendation to avoid AGP ",
       subtitle =  "chi^2 = 19.577, df = 1, p-value < 0.001", 
       y = "Count",
       x = "") +
  theme(legend.position = "None") +
  geom_text(x = 1,    y = 200,    label ="68.7%",    color = "white",    size = 3.5) +
  geom_text(x = 1,    y = 32,    label = "31.3%",    color = "white",    size = 3.5) +
  geom_text(x = 2,    y = 223,    label = "54.3%",    color = "white",    size = 3.5) +
  geom_text(x = 2,    y = 55,    label = "45.7%",    color = "white",    size = 3.5)
p1

Chi square After recommendation

R <- as.table(rbind(c(231, 174), c(104, 161)))
dimnames(R) <- list(Baseline = c("T", "M"),
                    after_proh = c("T","M"))
chisq.test(R)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  R
## X-squared = 19.577, df = 1, p-value = 9.662e-06

After prohibition

Calculate the percentages

df %>%
  # count for each level
  select(invazivs1, type_after_prohibition) %>%
  group_by(invazivs1, type_after_prohibition) %>%
  count() 
p2 <- df %>%
  # count for each level
  select(invazivs1, type_after_prohibition) %>%
  group_by(invazivs1, type_after_prohibition) %>%
  count() %>%
  
  # remove NAs values
  drop_na() %>%
  
  # now the plot
  ggplot(aes(y = n,
             axis1 = invazivs1,
             axis2 = type_after_prohibition)) +
  geom_alluvium(aes(fill = invazivs1), width = 1 / 12) +
  geom_stratum(width = 1 / 12,
               fill = "black",
               color = "grey") +
  geom_label(stat = "stratum", aes(label = after_stat(stratum))) +
  scale_x_discrete(
    limits = c("Baseline", "After prohibition"),
    expand = c(.15, .01)
  ) +
  scale_fill_brewer(type = "qual", palette = "Set1") +
  labs(title = "B. Caries treatment decisions after AGP prohibition",
       subtitle =  "chi^2=13.924, df=1, p-value<0.001", 
       y = "Count",
       x = "") +
  theme(legend.position = "None") +
  geom_text(x = 1,    y = 200,    label ="68.7%",    color = "white",    size = 3.5) +
  geom_text(x = 1,    y = 32,    label = "31.3%",    color = "white",    size = 3.5) +
  geom_text(x = 2,    y = 223,    label = "51.9%",    color = "white",    size = 3.5) +
  geom_text(x = 2,    y = 55,    label = "48.1%",    color = "white",    size = 3.5) + 
  # remove the y axis
  theme(axis.title.y=element_blank(),
        axis.text.y=element_blank())
p2

#### Chi square after prohibition

P <- as.table(rbind(c(230, 182), c(105, 153)))
dimnames(P) <- list(Baseline = c("T", "M"),
                    after_proh = c("T","M"))

chisq.test(P)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  P
## X-squared = 13.924, df = 1, p-value = 0.0001904
rm(p1, p2, R, P)

REGRESSION ANALYSIS

Recode to less invasive (1) and no change or to more invasive (0)

df_regression <- df %>% 
  mutate(y_change_to_minimally = case_when(
    change_after_reccomendation_i1 == "Change to LESS invasive" ~ 1, 
    TRUE ~0 
  ))

Change to minimally

df_regression <- df %>% 
  mutate(y_change_to_minimally = case_when(
    change_after_reccomendation_i1 == "Change to LESS invasive" ~ 1, 
    TRUE ~0 
  )) %>% 

## Change to more invasive

  mutate(y_change_to_more_invasive = case_when(
    change_after_reccomendation_i1 == "Change to MORE invasive" ~ 1, 
    TRUE ~0 
  )) %>% 

## Any change

  mutate(y_no_change = case_when(
    change_after_reccomendation_i1 == "No change" ~ 0, 
    TRUE ~ 1 
  ))

Change column names

df_regression <- df_regression %>% 
  rename(Sex = x1_jusu_dzimums, 
         "Graduation_Year"= x2_gads_kura_ieguvat_zobarsta_gradu, 
         "Specialist" = x3_vai_esat_ieguvis_specialista_gradu, 
         "Patients"= x4_vai_jus_arstejat_mazus_bernus_piena_zobus, )

Regression models

df_regression <- df_regression %>%
  select(
    Sex,
    Graduation_Year,
    Specialist,
    Patients,
    y_no_change,
    y_change_to_minimally,
    y_change_to_more_invasive
  )
less_invasive <- glm(
  y_change_to_minimally ~
    Sex +
    Graduation_Year +
    Specialist +
    Patients,
  data = df_regression,
  family = "binomial"
)
more_invasive <- glm(y_change_to_more_invasive ~ 
    Sex +
    Graduation_Year +
    Specialist +
    Patients,
         data = df_regression, 
         family = "binomial" )
no_change  <- glm(y_no_change ~ 
    Sex +
    Graduation_Year +
    Specialist +
    Patients,
         data = df_regression, 
         family = "binomial" )

Regression tables

The models

less <- less_invasive %>% 
  gtsummary::tbl_regression(exponentiate = TRUE) 
more <- more_invasive %>% 
  gtsummary::tbl_regression(exponentiate = TRUE)
any_change <- no_change %>% 
  gtsummary::tbl_regression(exponentiate = TRUE)

The table

Incluiding any change

gtsummary::tbl_merge(
    tbls = list(less,  more, any_change),
    tab_spanner = c("**Less invasive**", "**More invasive**", "**Any change**")
  )
Characteristic Less invasive More invasive Any change
OR1 95% CI1 p-value OR1 95% CI1 p-value OR1 95% CI1 p-value
Gender
Female
Male 0.33 0.08, 1.00 0.081 0.39 0.06, 1.41 0.2 0.29 0.09, 0.74 0.016
Graduation year 1.00 0.99, 1.02 0.7 1.02 1.00, 1.05 0.094 1.01 1.00, 1.03 0.13
Specialist degree
Yes
No 1.40 0.58, 3.94 0.5 2.18 0.61, 13.9 0.3 1.81 0.80, 4.50 0.2
Type of patients
Adults and children equaly
Small children very rare 0.52 0.24, 1.03 0.072 1.42 0.63, 3.00 0.4 0.74 0.40, 1.32 0.3
Only adults 0.92 0.50, 1.66 0.8 0.85 0.34, 1.93 0.7 0.87 0.50, 1.51 0.6

1 OR = Odds Ratio, CI = Confidence Interval

More or less invasive

gtsummary::tbl_merge(
    tbls = list(less,  more),
    tab_spanner = c("**Less invasive**", "**More invasive**") 
  ) 
Characteristic Less invasive More invasive
OR1 95% CI1 p-value OR1 95% CI1 p-value
Gender
Female
Male 0.33 0.08, 1.00 0.081 0.39 0.06, 1.41 0.2
Graduation year 1.00 0.99, 1.02 0.7 1.02 1.00, 1.05 0.094
Specialist degree
Yes
No 1.40 0.58, 3.94 0.5 2.18 0.61, 13.9 0.3
Type of patients
Adults and children equaly
Small children very rare 0.52 0.24, 1.03 0.072 1.42 0.63, 3.00 0.4
Only adults 0.92 0.50, 1.66 0.8 0.85 0.34, 1.93 0.7

1 OR = Odds Ratio, CI = Confidence Interval

report::report(less_invasive)
## We fitted a logistic model (estimated using ML) to predict y_change_to_minimally with Sex, Graduation_Year, Specialist and Patients (formula: y_change_to_minimally ~ Sex + Graduation_Year + Specialist + Patients). The model's explanatory power is weak (Tjur's R2 = 0.02). The model's intercept, corresponding to Sex = Female, Graduation_Year = 0, Specialist = Yes and Patients = Adults and children equaly, is at -8.01 (95% CI [-44.97, 28.91], p = 0.670). Within this model:
## 
##   - The effect of Sex [Male] is non-significantly negative (beta = -1.10, 95% CI [-2.57, -2.66e-03], p = 0.081; Std. beta = -1.10, 95% CI [-2.57, -2.66e-03])
##   - The effect of Graduation_Year is non-significantly positive (beta = 3.44e-03, 95% CI [-0.02, 0.02], p = 0.715; Std. beta = 0.05, 95% CI [-0.20, 0.29])
##   - The effect of Specialist [No] is non-significantly positive (beta = 0.34, 95% CI [-0.55, 1.37], p = 0.480; Std. beta = 0.34, 95% CI [-0.55, 1.37])
##   - The effect of Patients [Small children very rare] is non-significantly negative (beta = -0.66, 95% CI [-1.42, 0.03], p = 0.072; Std. beta = -0.66, 95% CI [-1.42, 0.03])
##   - The effect of Patients [Only adults] is non-significantly negative (beta = -0.08, 95% CI [-0.70, 0.51], p = 0.785; Std. beta = -0.08, 95% CI [-0.70, 0.51])
## 
## Standardized parameters were obtained by fitting the model on a standardized version of the dataset. 95% Confidence Intervals (CIs) and p-values were computed using