Background

This research hopes to understand towns in Italy where there is a greater chance to find employment with a museum, archive, or library.

Questa ricerca spera di capire le città in Italia dove c’è una maggiore possibilità di trovare lavoro in un museo, un archivio o una biblioteca.

Data was sourced from https://www.istat.it/tavole-di-dati/statistiche-culturali-anno-2021/. Each category has its own data set. Because I am interested in exhibitions, of the six files available, this project begins with a look at museums. Data compiled within the Excel workbook I downloaded reported entities such as museums and galleries, archaeology locales, and monuments) that exist within each region of Italy.

I dati provengono da https://www.istat.it/tavole-di-dati/statistiche-culturali-anno-2021/. Ogni categoria ha il proprio set di dati. Poiché sono interessato alle mostre, dei sei file disponibili, questo progetto inizia con uno sguardo ai musei. I dati compilati all’interno della cartella di lavoro Excel che ho scaricato sono stati segnalati come musei e gallerie, luoghi archeologici e monumenti che esistono all’interno di ciascuna regione d’Italia.

The first steps involve cleaning two XLXS imports. The first is an overview of cultural dispersion throughout the regions. The second import regards the percentage of personnel types including consultants, external and internal. The subsets created will be joined on regions for analysis.

I primi passi prevedono la pulizia di due import di XLXS. Il primo è una panoramica della dispersione culturale nelle regioni. La seconda import riguarda la percentuale di tipologie di personale tra consulenti, esterni e interni. I sottoinsiemi creati verranno uniti nelle regioni per l’analisi.

It is important to note this data is dated 2021. Employment figures have likely changed. Nonetheless, analysis might answer the following questions:

È importante notare che questi dati sono datati 2021. I dati sull’occupazione sono probabilmente cambiati. Tuttavia, l’analisi potrebbe rispondere alle seguenti domande:

  1. Which region offers more opportunity to work in one of these cultural categories? Quale regione offre maggiori opportunità di lavorare in una di queste categorie culturali?

  2. Where would I be more able to work as a consultant? 2. Dove sarei più in grado di lavorare come consulente?

Comments within code will remain in English. I commenti all’interno del codice rimarranno in inglese.

#Libraries

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.3     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.4.3     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.0
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(textdata)
library(tidyselect)
library(scales)
## Warning: package 'scales' was built under R version 4.3.2
## 
## Attaching package: 'scales'
## 
## The following object is masked from 'package:purrr':
## 
##     discard
## 
## The following object is masked from 'package:readr':
## 
##     col_factor

The str function displays the structure of the Excel import read into R. The data that focused on museum related entities contained 25 sheets including the index, or indice delle tavole.

Initial tasks include addressing NA’s, changing classes from chr to numeric, renaming columns.

library(readxl)
X1_Musei_2021 <- read_excel("C:/Users/Public/Downloads/1_Musei-2021.xlsx", 
    sheet = "Tav. 1.1", na = "NA", skip = 3, 
    n_max = 24)
## New names:
## • `` -> `...3`
## • `` -> `...4`
## • `` -> `...5`
## • `Totale` -> `Totale...6`
## • `` -> `...7`
## • `` -> `...9`
## • `` -> `...10`
## • `` -> `...11`
## • `` -> `...12`
## • `Totale` -> `Totale...13`
X1_Musei_2021
## # A tibble: 24 × 13
##    REGIONI\r\nRIPARTIZIONI…¹ Tipologia prevalente…² ...3  ...4  ...5  Totale...6
##    <chr>                     <chr>                  <chr> <chr> <lgl>      <dbl>
##  1 <NA>                      Museo, galleria e/o r… Area… Monu… NA            NA
##  2 <NA>                      <NA>                   <NA>  <NA>  NA            NA
##  3 Piemonte                  287                    9     56    NA           352
##  4 Valle d'Aosta - Vallée d… 28                     6     12    NA            46
##  5 Lombardia                 317                    20    36    NA           373
##  6 Trentino-Alto Adige       160                    1     22    NA           183
##  7 Bolzano/Bozen             90                     -     11    NA           101
##  8 Trento                    70                     1     11    NA            82
##  9 Veneto                    230                    6     44    NA           280
## 10 Friuli-Venezia Giulia     120                    6     19    NA           145
## # ℹ 14 more rows
## # ℹ abbreviated names:
## #   ¹​`REGIONI\r\nRIPARTIZIONI GEOGRAFICHE\r\nAMPIEZZA DEMOGRAFICA DEI COMUNI\r\nCLASSIFICAZIONE DEI COMUNI\r\nGRADO DI URBANIZZAZIONE`,
## #   ²​`Tipologia prevalente (a)`
## # ℹ 7 more variables: ...7 <lgl>, Titolarità <chr>, ...9 <chr>, ...10 <chr>,
## #   ...11 <chr>, ...12 <lgl>, Totale...13 <dbl>

The first row contains the some of column names. The second row needs to be removed. It contains no data - all fields are NA. I will delete the second row before I address the column names.

X1_Musei_2021a <- X1_Musei_2021[-c(2), ]
str(X1_Musei_2021a)
## tibble [23 × 13] (S3: tbl_df/tbl/data.frame)
##  $ REGIONI
## RIPARTIZIONI GEOGRAFICHE
## AMPIEZZA DEMOGRAFICA DEI COMUNI
## CLASSIFICAZIONE DEI COMUNI
## GRADO DI URBANIZZAZIONE: chr [1:23] NA "Piemonte" "Valle d'Aosta - Vallée d'Aoste" "Lombardia" ...
##  $ Tipologia prevalente (a)                                                                                                       : chr [1:23] "Museo, galleria e/o raccolta (b)" "287" "28" "317" ...
##  $ ...3                                                                                                                           : chr [1:23] "Area o parco archeologico" "9" "6" "20" ...
##  $ ...4                                                                                                                           : chr [1:23] "Monumento o complesso monumentale" "56" "12" "36" ...
##  $ ...5                                                                                                                           : logi [1:23] NA NA NA NA NA NA ...
##  $ Totale...6                                                                                                                     : num [1:23] NA 352 46 373 183 101 82 280 145 156 ...
##  $ ...7                                                                                                                           : logi [1:23] NA NA NA NA NA NA ...
##  $ Titolarità                                                                                                                     : chr [1:23] "Pubblica" "186" "27" "227" ...
##  $ ...9                                                                                                                           : chr [1:23] "di cui              Statale" "15" "-" "22" ...
##  $ ...10                                                                                                                          : chr [1:23] "di cui              Ente locale" "145" "9" "183" ...
##  $ ...11                                                                                                                          : chr [1:23] "Privata" "166" "19" "146" ...
##  $ ...12                                                                                                                          : logi [1:23] NA NA NA NA NA NA ...
##  $ Totale...13                                                                                                                    : num [1:23] NA 352 46 373 183 101 82 280 145 156 ...

Using names, all the columns are renamed. Columns with no data are named NA. Those will be removed in a new subset.

names(X1_Musei_2021a)<-c("regions", "museo_galleria", "archeologico", "monumenti", "NA", "tipologia_totale","NA", "pubblica", "di_cui_Statale", "di_cui_Ente_locale", "privata","NA", "titolarita_totale")
X1_Musei_2021a
## # A tibble: 23 × 13
##    regions    museo_galleria archeologico monumenti `NA`  tipologia_totale `NA` 
##    <chr>      <chr>          <chr>        <chr>     <lgl>            <dbl> <lgl>
##  1 <NA>       Museo, galler… Area o parc… Monument… NA                  NA NA   
##  2 Piemonte   287            9            56        NA                 352 NA   
##  3 Valle d'A… 28             6            12        NA                  46 NA   
##  4 Lombardia  317            20           36        NA                 373 NA   
##  5 Trentino-… 160            1            22        NA                 183 NA   
##  6 Bolzano/B… 90             -            11        NA                 101 NA   
##  7 Trento     70             1            11        NA                  82 NA   
##  8 Veneto     230            6            44        NA                 280 NA   
##  9 Friuli-Ve… 120            6            19        NA                 145 NA   
## 10 Liguria    133            5            18        NA                 156 NA   
## # ℹ 13 more rows
## # ℹ 6 more variables: pubblica <chr>, di_cui_Statale <chr>,
## #   di_cui_Ente_locale <chr>, privata <chr>, `NA` <lgl>,
## #   titolarita_totale <dbl>

Because the first row contains data we used to name the columns, the following code will remove it and create a new subset.

X1_Musei_2021b <- X1_Musei_2021a[-c(1), ]

X1_Musei_2021b
## # A tibble: 22 × 13
##    regions    museo_galleria archeologico monumenti `NA`  tipologia_totale `NA` 
##    <chr>      <chr>          <chr>        <chr>     <lgl>            <dbl> <lgl>
##  1 Piemonte   287            9            56        NA                 352 NA   
##  2 Valle d'A… 28             6            12        NA                  46 NA   
##  3 Lombardia  317            20           36        NA                 373 NA   
##  4 Trentino-… 160            1            22        NA                 183 NA   
##  5 Bolzano/B… 90             -            11        NA                 101 NA   
##  6 Trento     70             1            11        NA                  82 NA   
##  7 Veneto     230            6            44        NA                 280 NA   
##  8 Friuli-Ve… 120            6            19        NA                 145 NA   
##  9 Liguria    133            5            18        NA                 156 NA   
## 10 Emilia-Ro… 348            12           64        NA                 424 NA   
## # ℹ 12 more rows
## # ℹ 6 more variables: pubblica <chr>, di_cui_Statale <chr>,
## #   di_cui_Ente_locale <chr>, privata <chr>, `NA` <lgl>,
## #   titolarita_totale <dbl>

is.na will remove the columns that show only NA in the data field. To continue a trail of work, the code will create another new subset.

X1_Musei_2021c<- X1_Musei_2021b[ , colSums(is.na(X1_Musei_2021b))==0]
X1_Musei_2021c
## # A tibble: 22 × 10
##    regions       museo_galleria archeologico monumenti tipologia_totale pubblica
##    <chr>         <chr>          <chr>        <chr>                <dbl> <chr>   
##  1 Piemonte      287            9            56                     352 186     
##  2 Valle d'Aost… 28             6            12                      46 27      
##  3 Lombardia     317            20           36                     373 227     
##  4 Trentino-Alt… 160            1            22                     183 90      
##  5 Bolzano/Bozen 90             -            11                     101 41      
##  6 Trento        70             1            11                      82 49      
##  7 Veneto        230            6            44                     280 184     
##  8 Friuli-Venez… 120            6            19                     145 99      
##  9 Liguria       133            5            18                     156 101     
## 10 Emilia-Romag… 348            12           64                     424 261     
## # ℹ 12 more rows
## # ℹ 4 more variables: di_cui_Statale <chr>, di_cui_Ente_locale <chr>,
## #   privata <chr>, titolarita_totale <dbl>

The final step uses as.numeric to target columns and convert the column to numeric.

cols.num <- c("museo_galleria","archeologico", "monumenti", "pubblica", "di_cui_Statale", "di_cui_Ente_locale", "privata")
X1_Musei_2021c[cols.num] <- sapply(X1_Musei_2021c[cols.num],as.numeric)
## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion

## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
sapply(X1_Musei_2021c, class)
##            regions     museo_galleria       archeologico          monumenti 
##        "character"          "numeric"          "numeric"          "numeric" 
##   tipologia_totale           pubblica     di_cui_Statale di_cui_Ente_locale 
##          "numeric"          "numeric"          "numeric"          "numeric" 
##            privata  titolarita_totale 
##          "numeric"          "numeric"

Here is the new subset ready for a little analysis. The tibble is sorted in descending order on tipologia_totale.

X1_Musei_2021c[order(-X1_Musei_2021c$tipologia_totale),]
## # A tibble: 22 × 10
##    regions       museo_galleria archeologico monumenti tipologia_totale pubblica
##    <chr>                  <dbl>        <dbl>     <dbl>            <dbl>    <dbl>
##  1 Toscana                  386           27        98              511      312
##  2 Emilia-Romag…            348           12        64              424      261
##  3 Lombardia                317           20        36              373      227
##  4 Piemonte                 287            9        56              352      186
##  5 Lazio                    216           34        48              298      230
##  6 Veneto                   230            6        44              280      184
##  7 Sardegna                 167           55        43              265      205
##  8 Marche                   216           12        26              254      190
##  9 Sicilia                  141           37        42              220      168
## 10 Campania                 132           19        48              199      122
## # ℹ 12 more rows
## # ℹ 4 more variables: di_cui_Statale <dbl>, di_cui_Ente_locale <dbl>,
## #   privata <dbl>, titolarita_totale <dbl>

The summary below serves as a guide for the plot created using ggplot in the following chunk. There is a significant delta between the regions with the most and the least. Is that due to the region’s size or location? As we can see from the plot, the numbers are skewed.The median average number of museums and galleries in Italy hovers around 172.

summary(X1_Musei_2021c[,c(5)])
##  tipologia_totale
##  Min.   : 34.0   
##  1st Qu.:108.5   
##  Median :172.0   
##  Mean   :203.4   
##  3rd Qu.:276.2   
##  Max.   :511.0

The plot below also shows la Toscana offers the most while Molise is the region with the least number of cultural entities. A very quick look into why this might be such a stark difference points us to Molise’s interesting history. Emilia-Romagna, where I would like to reside, closely follows la Toscana with a considerable number of cultural entities.

ggplot(X1_Musei_2021c, aes(tipologia_totale, regions))  + 
  geom_point(aes(color=tipologia_totale))+
  scale_color_binned()

Here we count how often we see the same number of archaeological parks or areas. It is interesting to note the Molise has as many sites as Trento and Trentino-Alto Adige. If we refer back to the overall numbers, these regions exceed the number of entities Molise reported, however Molise holds its own regarding archaeological parks or areas.

X1_Musei_2021c %>% 
  filter(!is.na(museo_galleria)) %>%
  filter(!is.na(archeologico)) %>%
  filter(!is.na(monumenti)) %>%
  count(archeologico,sort = TRUE)
## # A tibble: 16 × 2
##    archeologico     n
##           <dbl> <int>
##  1            6     3
##  2            1     2
##  3            5     2
##  4           12     2
##  5            2     1
##  6            7     1
##  7            8     1
##  8            9     1
##  9           10     1
## 10           11     1
## 11           19     1
## 12           20     1
## 13           27     1
## 14           34     1
## 15           37     1
## 16           55     1

Bolzano reports NA under the archeologico column. R removed Bolzano from the plot.

ggplot(X1_Musei_2021c, aes(archeologico, regions)) +
geom_point(aes(color=archeologico))
## Warning: Removed 1 rows containing missing values (`geom_point()`).

Below is a summary of museums and galleries. The tibble below the summary shows counts in descending order with la Toscana and Emilia-Romagna leading the pack in these types of cultural assets. However, if we compare the number of archaeology entities in these regions to those in Sardegna and Sicilia, there is a significant decrease. Lazio, compared to other regions, shows a more equal distribution of all cultural entities.

summary(X1_Musei_2021c$museo_galleria)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    28.0    92.0   132.5   159.0   216.0   386.0
X1_Musei_2021c[order(-X1_Musei_2021c$museo_galleria), ]
## # A tibble: 22 × 10
##    regions       museo_galleria archeologico monumenti tipologia_totale pubblica
##    <chr>                  <dbl>        <dbl>     <dbl>            <dbl>    <dbl>
##  1 Toscana                  386           27        98              511      312
##  2 Emilia-Romag…            348           12        64              424      261
##  3 Lombardia                317           20        36              373      227
##  4 Piemonte                 287            9        56              352      186
##  5 Veneto                   230            6        44              280      184
##  6 Marche                   216           12        26              254      190
##  7 Lazio                    216           34        48              298      230
##  8 Sardegna                 167           55        43              265      205
##  9 Trentino-Alt…            160            1        22              183       90
## 10 Sicilia                  141           37        42              220      168
## # ℹ 12 more rows
## # ℹ 4 more variables: di_cui_Statale <dbl>, di_cui_Ente_locale <dbl>,
## #   privata <dbl>, titolarita_totale <dbl>

The ggplot below looks at museums and galleries.

ggplot(X1_Musei_2021c, aes(museo_galleria, regions)) +
geom_point(aes(color=museo_galleria))

The ggplot below shows counts of monuments in different regions. It is interesting to note that Emilia-Romagna has more monuments than Lazio. This surprised me because I thought Rome had all the monuments. However, once again, la Toscana leads with the highest number.

ggplot(X1_Musei_2021c, aes(monumenti, regions)) +
geom_point(aes(color=monumenti))

The first worksheet is encouraging. On the surface, there are a considerable number of museums that may offer employment. I am also excited that Emilia-Romagna reports a significant number of them. I am also happy I learned a little more about Molise.

The second worksheet is about employees at these entities. The steps follow the ones I took earlier.

library(readxl)
X1_Musei_2021_emp<- read_excel("C:/Users/Public/Downloads/1_Musei-2021.xlsx", 
    sheet = "Tav. 1.13", na = "NA", skip = 4, 
    n_max = 24)
## New names:
## • `` -> `...1`
## • `Non risponde/Non sa` -> `Non risponde/Non sa...2`
## • `Nessuno` -> `Nessuno...3`
## • `Soltanto 1` -> `Soltanto 1...4`
## • `Da 2 a 3 addetti` -> `Da 2 a 3 addetti...5`
## • `Da 4 a 5 addetti` -> `Da 4 a 5 addetti...6`
## • `Da 6 a 10 addetti` -> `Da 6 a 10 addetti...7`
## • `Da 10 a 15 addetti` -> `Da 10 a 15 addetti...8`
## • `Più di 15 addetti` -> `Più di 15 addetti...9`
## • `` -> `...10`
## • `Non risponde/Non sa` -> `Non risponde/Non sa...11`
## • `Nessuno` -> `Nessuno...12`
## • `Soltanto 1` -> `Soltanto 1...13`
## • `Da 2 a 3 addetti` -> `Da 2 a 3 addetti...14`
## • `Da 4 a 5 addetti` -> `Da 4 a 5 addetti...15`
## • `Da 6 a 10 addetti` -> `Da 6 a 10 addetti...16`
## • `Da 10 a 15 addetti` -> `Da 10 a 15 addetti...17`
## • `Più di 15 addetti` -> `Più di 15 addetti...18`
## • `` -> `...19`
## • `Non risponde/Non sa` -> `Non risponde/Non sa...20`
## • `Nessuno` -> `Nessuno...21`
## • `Soltanto 1` -> `Soltanto 1...22`
## • `Da 2 a 3 addetti` -> `Da 2 a 3 addetti...23`
## • `Da 4 a 5 addetti` -> `Da 4 a 5 addetti...24`
## • `Da 6 a 10 addetti` -> `Da 6 a 10 addetti...25`
## • `Da 10 a 15 addetti` -> `Da 10 a 15 addetti...26`
## • `Più di 15 addetti` -> `Più di 15 addetti...27`
## • `` -> `...28`
## • `` -> `...29`
str(X1_Musei_2021_emp)
## tibble [23 × 29] (S3: tbl_df/tbl/data.frame)
##  $ ...1                    : chr [1:23] NA "Piemonte" "Valle d'Aosta - Vallée d'Aoste" "Lombardia" ...
##  $ Non risponde/Non sa...2 : chr [1:23] NA "4.5" "-" "3.5" ...
##  $ Nessuno...3             : num [1:23] NA 41.2 30.4 25.2 33.9 35.6 31.7 28.9 37.2 37.2 ...
##  $ Soltanto 1...4          : num [1:23] NA 17.6 17.4 22 21.3 24.8 17.1 22.5 17.9 16 ...
##  $ Da 2 a 3 addetti...5    : num [1:23] NA 14.2 10.9 19.8 17.5 16.8 18.3 20.7 16.6 19.2 ...
##  $ Da 4 a 5 addetti...6    : num [1:23] NA 5.7 28.3 10.5 9.8 9.9 9.8 3.9 10.3 8.3 ...
##  $ Da 6 a 10 addetti...7   : num [1:23] NA 8.8 10.9 9.7 11.5 8.9 14.6 8.2 5.5 10.9 ...
##  $ Da 10 a 15 addetti...8  : chr [1:23] NA "2.8" "-" "3.2" ...
##  $ Più di 15 addetti...9   : chr [1:23] NA "5.0999999999999996" "2.2000000000000002" "6.2" ...
##  $ ...10                   : logi [1:23] NA NA NA NA NA NA ...
##  $ Non risponde/Non sa...11: chr [1:23] NA "4.5" "-" "3.5" ...
##  $ Nessuno...12            : num [1:23] NA 65.9 60.9 56.8 50.8 53.5 47.6 53.9 51 60.9 ...
##  $ Soltanto 1...13         : num [1:23] NA 5.7 6.5 9.4 12 10.9 13.4 10.7 17.2 10.3 ...
##  $ Da 2 a 3 addetti...14   : num [1:23] NA 8.8 10.9 10.7 12 11.9 12.2 10.4 17.2 12.2 ...
##  $ Da 4 a 5 addetti...15   : chr [1:23] NA "4.5" "13" "7.5" ...
##  $ Da 6 a 10 addetti...16  : chr [1:23] NA "7.4" "4.3" "7" ...
##  $ Da 10 a 15 addetti...17 : chr [1:23] NA "1.1000000000000001" "4.3" "2.4" ...
##  $ Più di 15 addetti...18  : chr [1:23] NA "2" "-" "2.7" ...
##  $ ...19                   : logi [1:23] NA NA NA NA NA NA ...
##  $ Non risponde/Non sa...20: chr [1:23] NA "4.5" "-" "3.5" ...
##  $ Nessuno...21            : chr [1:23] NA "57.1" "65.2" "51.5" ...
##  $ Soltanto 1...22         : chr [1:23] NA "15.6" "19.600000000000001" "18.5" ...
##  $ Da 2 a 3 addetti...23   : chr [1:23] NA "10.8" "13" "12.1" ...
##  $ Da 4 a 5 addetti...24   : chr [1:23] NA "4.8" "2.2000000000000002" "6.7" ...
##  $ Da 6 a 10 addetti...25  : chr [1:23] NA "5.0999999999999996" "-" "6.7" ...
##  $ Da 10 a 15 addetti...26 : chr [1:23] NA "0.6" "-" "0.8" ...
##  $ Più di 15 addetti...27  : chr [1:23] NA "1.4" "-" "0.3" ...
##  $ ...28                   : logi [1:23] NA NA NA NA NA NA ...
##  $ ...29                   : num [1:23] NA 100 100 100 100 100 100 100 100 100 ...
names(X1_Musei_2021_emp)<-c("regions","Personale_interno_Non_risponde_o_Non_sa", "Personale_interno_Nessuno", "Personale_interno_Soltanto_1", "Personale_interno_Da_2_a_3_addetti", "Personale_interno_Da_4_a_5_addetti", "Personale_interno_Da_6_a_10_addetti","Personale_interno_Da_10_a_15_addetti","Personale_interno_Più_di_15_addetti","Personale_interno_NA", "Personale_esterno_Non_risponde_o_Non_sa", "Personale_esterno_Nessuno", "Personale_esterno_Soltanto_1","Personale_esterno_Da_2_a_3_addetti", "Personale_esterno_Da_4_a_5_addetti", "Personale_esterno_Da_6_a_10_addetti","Personale_esterno_Da_10_a_15_addetti","Personale_esterno_Più_di_15_addetti", "Personale_esterno_NA","consulenti_Non_risponde_o_Non_sa","consulenti_Nessuno","consulenti_Soltanto_1","consulenti_Da_2_a_3_addetti", "consulenti_Da_4_a_5_addetti","consulenti_Da_6_a_10_addetti","consulenti_Da_10_a_15_addetti","consulenti_Più_di_15_addetti","Consulenti_NA","Totale%")

X1_Musei_2021_emp
## # A tibble: 23 × 29
##    regions  Personale_interno_No…¹ Personale_interno_Ne…² Personale_interno_So…³
##    <chr>    <chr>                                   <dbl>                  <dbl>
##  1 <NA>     <NA>                                     NA                     NA  
##  2 Piemonte 4.5                                      41.2                   17.6
##  3 Valle d… -                                        30.4                   17.4
##  4 Lombard… 3.5                                      25.2                   22  
##  5 Trentin… 0.5                                      33.9                   21.3
##  6 Bolzano… 1                                        35.6                   24.8
##  7 Trento   -                                        31.7                   17.1
##  8 Veneto   7.9                                      28.9                   22.5
##  9 Friuli-… 3.4                                      37.2                   17.9
## 10 Liguria  3.2                                      37.2                   16  
## # ℹ 13 more rows
## # ℹ abbreviated names: ¹​Personale_interno_Non_risponde_o_Non_sa,
## #   ²​Personale_interno_Nessuno, ³​Personale_interno_Soltanto_1
## # ℹ 25 more variables: Personale_interno_Da_2_a_3_addetti <dbl>,
## #   Personale_interno_Da_4_a_5_addetti <dbl>,
## #   Personale_interno_Da_6_a_10_addetti <dbl>,
## #   Personale_interno_Da_10_a_15_addetti <chr>, …
X1_Musei_2021_emp1 <- X1_Musei_2021_emp[-c(1), ]

X1_Musei_2021_emp1
## # A tibble: 22 × 29
##    regions  Personale_interno_No…¹ Personale_interno_Ne…² Personale_interno_So…³
##    <chr>    <chr>                                   <dbl>                  <dbl>
##  1 Piemonte 4.5                                      41.2                   17.6
##  2 Valle d… -                                        30.4                   17.4
##  3 Lombard… 3.5                                      25.2                   22  
##  4 Trentin… 0.5                                      33.9                   21.3
##  5 Bolzano… 1                                        35.6                   24.8
##  6 Trento   -                                        31.7                   17.1
##  7 Veneto   7.9                                      28.9                   22.5
##  8 Friuli-… 3.4                                      37.2                   17.9
##  9 Liguria  3.2                                      37.2                   16  
## 10 Emilia-… 4.5                                      23.1                   22.2
## # ℹ 12 more rows
## # ℹ abbreviated names: ¹​Personale_interno_Non_risponde_o_Non_sa,
## #   ²​Personale_interno_Nessuno, ³​Personale_interno_Soltanto_1
## # ℹ 25 more variables: Personale_interno_Da_2_a_3_addetti <dbl>,
## #   Personale_interno_Da_4_a_5_addetti <dbl>,
## #   Personale_interno_Da_6_a_10_addetti <dbl>,
## #   Personale_interno_Da_10_a_15_addetti <chr>, …
cols.num <- c("Personale_interno_Non_risponde_o_Non_sa", "Personale_interno_Nessuno", "Personale_interno_Soltanto_1", "Personale_interno_Da_2_a_3_addetti", "Personale_interno_Da_4_a_5_addetti", "Personale_interno_Da_6_a_10_addetti","Personale_interno_Da_10_a_15_addetti","Personale_interno_Più_di_15_addetti","Personale_interno_NA", "Personale_esterno_Non_risponde_o_Non_sa", "Personale_esterno_Nessuno", "Personale_esterno_Soltanto_1","Personale_esterno_Da_2_a_3_addetti", "Personale_esterno_Da_4_a_5_addetti", "Personale_esterno_Da_6_a_10_addetti","Personale_esterno_Da_10_a_15_addetti","Personale_esterno_Più_di_15_addetti", "Personale_esterno_NA","consulenti_Non_risponde_o_Non_sa","consulenti_Nessuno","consulenti_Soltanto_1","consulenti_Da_2_a_3_addetti", "consulenti_Da_4_a_5_addetti","consulenti_Da_6_a_10_addetti","consulenti_Da_10_a_15_addetti","consulenti_Più_di_15_addetti","Consulenti_NA","Totale%")
X1_Musei_2021_emp1[cols.num] <- sapply(X1_Musei_2021_emp1[cols.num],as.numeric)
## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion

## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion

## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion

## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion

## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion

## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion

## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion

## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion

## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion

## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion

## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion

## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion

## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion

## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion

## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion

## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
sapply(X1_Musei_2021_emp1, class)
##                                 regions Personale_interno_Non_risponde_o_Non_sa 
##                             "character"                               "numeric" 
##               Personale_interno_Nessuno            Personale_interno_Soltanto_1 
##                               "numeric"                               "numeric" 
##      Personale_interno_Da_2_a_3_addetti      Personale_interno_Da_4_a_5_addetti 
##                               "numeric"                               "numeric" 
##     Personale_interno_Da_6_a_10_addetti    Personale_interno_Da_10_a_15_addetti 
##                               "numeric"                               "numeric" 
##     Personale_interno_Più_di_15_addetti                    Personale_interno_NA 
##                               "numeric"                               "numeric" 
## Personale_esterno_Non_risponde_o_Non_sa               Personale_esterno_Nessuno 
##                               "numeric"                               "numeric" 
##            Personale_esterno_Soltanto_1      Personale_esterno_Da_2_a_3_addetti 
##                               "numeric"                               "numeric" 
##      Personale_esterno_Da_4_a_5_addetti     Personale_esterno_Da_6_a_10_addetti 
##                               "numeric"                               "numeric" 
##    Personale_esterno_Da_10_a_15_addetti     Personale_esterno_Più_di_15_addetti 
##                               "numeric"                               "numeric" 
##                    Personale_esterno_NA        consulenti_Non_risponde_o_Non_sa 
##                               "numeric"                               "numeric" 
##                      consulenti_Nessuno                   consulenti_Soltanto_1 
##                               "numeric"                               "numeric" 
##             consulenti_Da_2_a_3_addetti             consulenti_Da_4_a_5_addetti 
##                               "numeric"                               "numeric" 
##            consulenti_Da_6_a_10_addetti           consulenti_Da_10_a_15_addetti 
##                               "numeric"                               "numeric" 
##            consulenti_Più_di_15_addetti                           Consulenti_NA 
##                               "numeric"                               "numeric" 
##                                 Totale% 
##                               "numeric"

The summary looks at all the columns. I am curious about the columns that say nessuno but in the next chunk I opted to focus upon the percentage of different types of teams comprised of 2 to 3 people.

summary(X1_Musei_2021_emp1)
##    regions          Personale_interno_Non_risponde_o_Non_sa
##  Length:22          Min.   : 0.500                         
##  Class :character   1st Qu.: 3.475                         
##  Mode  :character   Median : 7.800                         
##                     Mean   : 8.055                         
##                     3rd Qu.:10.300                         
##                     Max.   :20.600                         
##                     NA's   :2                              
##  Personale_interno_Nessuno Personale_interno_Soltanto_1
##  Min.   : 7.10             Min.   : 7.90               
##  1st Qu.:19.23             1st Qu.:15.70               
##  Median :27.05             Median :17.95               
##  Mean   :26.52             Mean   :18.00               
##  3rd Qu.:33.52             3rd Qu.:21.30               
##  Max.   :41.20             Max.   :25.50               
##                                                        
##  Personale_interno_Da_2_a_3_addetti Personale_interno_Da_4_a_5_addetti
##  Min.   :10.90                      Min.   : 3.90                     
##  1st Qu.:16.98                      1st Qu.: 7.70                     
##  Median :18.90                      Median : 9.85                     
##  Mean   :19.25                      Mean   :10.40                     
##  3rd Qu.:21.00                      3rd Qu.:10.72                     
##  Max.   :35.10                      Max.   :28.30                     
##                                                                       
##  Personale_interno_Da_6_a_10_addetti Personale_interno_Da_10_a_15_addetti
##  Min.   : 2.900                      Min.   : 0.800                      
##  1st Qu.: 7.375                      1st Qu.: 1.500                      
##  Median : 9.800                      Median : 2.800                      
##  Mean   : 9.750                      Mean   : 3.847                      
##  3rd Qu.:11.100                      3rd Qu.: 4.400                      
##  Max.   :21.100                      Max.   :21.400                      
##                                      NA's   :3                           
##  Personale_interno_Più_di_15_addetti Personale_interno_NA
##  Min.   : 0.600                      Min.   : NA         
##  1st Qu.: 3.000                      1st Qu.: NA         
##  Median : 4.400                      Median : NA         
##  Mean   : 5.686                      Mean   :NaN         
##  3rd Qu.: 6.200                      3rd Qu.: NA         
##  Max.   :17.300                      Max.   : NA         
##  NA's   :1                           NA's   :22          
##  Personale_esterno_Non_risponde_o_Non_sa Personale_esterno_Nessuno
##  Min.   : 0.500                          Min.   :47.30            
##  1st Qu.: 3.475                          1st Qu.:50.85            
##  Median : 7.800                          Median :56.10            
##  Mean   : 8.120                          Mean   :56.57            
##  3rd Qu.:10.300                          3rd Qu.:60.52            
##  Max.   :20.600                          Max.   :71.60            
##  NA's   :2                                                        
##  Personale_esterno_Soltanto_1 Personale_esterno_Da_2_a_3_addetti
##  Min.   : 3.80                Min.   : 5.20                     
##  1st Qu.: 7.70                1st Qu.: 9.50                     
##  Median : 9.45                Median :11.95                     
##  Mean   : 9.50                Mean   :11.94                     
##  3rd Qu.:10.85                3rd Qu.:14.38                     
##  Max.   :17.20                Max.   :17.40                     
##                                                                 
##  Personale_esterno_Da_4_a_5_addetti Personale_esterno_Da_6_a_10_addetti
##  Min.   : 1.500                     Min.   :1.200                      
##  1st Qu.: 4.725                     1st Qu.:2.800                      
##  Median : 6.650                     Median :4.500                      
##  Mean   : 6.585                     Mean   :4.843                      
##  3rd Qu.: 7.650                     3rd Qu.:7.100                      
##  Max.   :13.000                     Max.   :9.900                      
##  NA's   :2                          NA's   :1                          
##  Personale_esterno_Da_10_a_15_addetti Personale_esterno_Più_di_15_addetti
##  Min.   :0.700                        Min.   :0.800                      
##  1st Qu.:1.175                        1st Qu.:1.875                      
##  Median :1.800                        Median :2.600                      
##  Mean   :2.200                        Mean   :2.744                      
##  3rd Qu.:2.675                        3rd Qu.:3.050                      
##  Max.   :5.600                        Max.   :7.300                      
##  NA's   :2                            NA's   :6                          
##  Personale_esterno_NA consulenti_Non_risponde_o_Non_sa consulenti_Nessuno
##  Min.   : NA          Min.   :  3.10                   Min.   :29.50     
##  1st Qu.: NA          1st Qu.:  4.40                   1st Qu.:57.40     
##  Median : NA          Median :  8.30                   Median :63.40     
##  Mean   :NaN          Mean   : 15.80                   Mean   :61.85     
##  3rd Qu.: NA          3rd Qu.: 15.12                   3rd Qu.:69.90     
##  Max.   : NA          Max.   :100.00                   Max.   :76.50     
##  NA's   :22           NA's   :2                        NA's   :1         
##  consulenti_Soltanto_1 consulenti_Da_2_a_3_addetti consulenti_Da_4_a_5_addetti
##  Min.   : 3.800        Min.   : 2.90               Min.   :1.400              
##  1st Qu.: 8.875        1st Qu.: 7.10               1st Qu.:2.600              
##  Median :12.900        Median : 8.30               Median :3.300              
##  Mean   :12.290        Mean   : 9.31               Mean   :3.655              
##  3rd Qu.:15.650        3rd Qu.:11.70               3rd Qu.:4.725              
##  Max.   :19.600        Max.   :21.40               Max.   :7.100              
##  NA's   :2             NA's   :1                   NA's   :2                  
##  consulenti_Da_6_a_10_addetti consulenti_Da_10_a_15_addetti
##  Min.   :0.800                Min.   :0.2                  
##  1st Qu.:1.450                1st Qu.:0.6                  
##  Median :2.400                Median :0.7                  
##  Mean   :2.516                Mean   :0.8                  
##  3rd Qu.:2.750                3rd Qu.:1.0                  
##  Max.   :6.700                Max.   :1.5                  
##  NA's   :3                    NA's   :13                   
##  consulenti_Più_di_15_addetti Consulenti_NA    Totale%   
##  Min.   :0.200                Min.   : NA   Min.   :100  
##  1st Qu.:0.500                1st Qu.: NA   1st Qu.:100  
##  Median :1.200                Median : NA   Median :100  
##  Mean   :1.391                Mean   :NaN   Mean   :100  
##  3rd Qu.:1.700                3rd Qu.: NA   3rd Qu.:100  
##  Max.   :4.900                Max.   : NA   Max.   :100  
##  NA's   :11                   NA's   :22
summary(X1_Musei_2021_emp1[c('consulenti_Da_2_a_3_addetti', 'Personale_interno_Da_2_a_3_addetti', 'Personale_esterno_Da_2_a_3_addetti')])
##  consulenti_Da_2_a_3_addetti Personale_interno_Da_2_a_3_addetti
##  Min.   : 2.90               Min.   :10.90                     
##  1st Qu.: 7.10               1st Qu.:16.98                     
##  Median : 8.30               Median :18.90                     
##  Mean   : 9.31               Mean   :19.25                     
##  3rd Qu.:11.70               3rd Qu.:21.00                     
##  Max.   :21.40               Max.   :35.10                     
##  NA's   :1                                                     
##  Personale_esterno_Da_2_a_3_addetti
##  Min.   : 5.20                     
##  1st Qu.: 9.50                     
##  Median :11.95                     
##  Mean   :11.94                     
##  3rd Qu.:14.38                     
##  Max.   :17.40                     
## 

Below we have a tibble showing regions with these specific employee types. I will join this subset to the first subset I created.

# Returns only records where a joining field finds a match in both tables. 
 joined_data <- inner_join(X1_Musei_2021_emp1, X1_Musei_2021c, by = "regions", "museo_galleria")
print(joined_data)
## # A tibble: 22 × 38
##    regions  Personale_interno_No…¹ Personale_interno_Ne…² Personale_interno_So…³
##    <chr>                     <dbl>                  <dbl>                  <dbl>
##  1 Piemonte                    4.5                   41.2                   17.6
##  2 Valle d…                   NA                     30.4                   17.4
##  3 Lombard…                    3.5                   25.2                   22  
##  4 Trentin…                    0.5                   33.9                   21.3
##  5 Bolzano…                    1                     35.6                   24.8
##  6 Trento                     NA                     31.7                   17.1
##  7 Veneto                      7.9                   28.9                   22.5
##  8 Friuli-…                    3.4                   37.2                   17.9
##  9 Liguria                     3.2                   37.2                   16  
## 10 Emilia-…                    4.5                   23.1                   22.2
## # ℹ 12 more rows
## # ℹ abbreviated names: ¹​Personale_interno_Non_risponde_o_Non_sa,
## #   ²​Personale_interno_Nessuno, ³​Personale_interno_Soltanto_1
## # ℹ 34 more variables: Personale_interno_Da_2_a_3_addetti <dbl>,
## #   Personale_interno_Da_4_a_5_addetti <dbl>,
## #   Personale_interno_Da_6_a_10_addetti <dbl>,
## #   Personale_interno_Da_10_a_15_addetti <dbl>, …
X1_Musei_2021_emp1a <-joined_data %>% select(regions, museo_galleria, consulenti_Da_2_a_3_addetti, Personale_interno_Da_2_a_3_addetti, Personale_esterno_Da_2_a_3_addetti)

X1_Musei_2021_emp1a
## # A tibble: 22 × 5
##    regions          museo_galleria consulenti_Da_2_a_3_…¹ Personale_interno_Da…²
##    <chr>                     <dbl>                  <dbl>                  <dbl>
##  1 Piemonte                    287                   10.8                   14.2
##  2 Valle d'Aosta -…             28                   13                     10.9
##  3 Lombardia                   317                   12.1                   19.8
##  4 Trentino-Alto A…            160                    5.5                   17.5
##  5 Bolzano/Bozen                90                   NA                     16.8
##  6 Trento                       70                   12.2                   18.3
##  7 Veneto                      230                    7.1                   20.7
##  8 Friuli-Venezia …            120                   16.6                   16.6
##  9 Liguria                     133                    5.1                   19.2
## 10 Emilia-Romagna              348                    9.4                   20.3
## # ℹ 12 more rows
## # ℹ abbreviated names: ¹​consulenti_Da_2_a_3_addetti,
## #   ²​Personale_interno_Da_2_a_3_addetti
## # ℹ 1 more variable: Personale_esterno_Da_2_a_3_addetti <dbl>
X1_Musei_2021_emp1a[order(-X1_Musei_2021_emp1a$museo_galleria),]
## # A tibble: 22 × 5
##    regions          museo_galleria consulenti_Da_2_a_3_…¹ Personale_interno_Da…²
##    <chr>                     <dbl>                  <dbl>                  <dbl>
##  1 Toscana                     386                   11.7                   26.8
##  2 Emilia-Romagna              348                    9.4                   20.3
##  3 Lombardia                   317                   12.1                   19.8
##  4 Piemonte                    287                   10.8                   14.2
##  5 Veneto                      230                    7.1                   20.7
##  6 Marche                      216                    8.3                   12.2
##  7 Lazio                       216                    9.1                   17.8
##  8 Sardegna                    167                    5.7                   21.9
##  9 Trentino-Alto A…            160                    5.5                   17.5
## 10 Sicilia                     141                    3.6                   18.6
## # ℹ 12 more rows
## # ℹ abbreviated names: ¹​consulenti_Da_2_a_3_addetti,
## #   ²​Personale_interno_Da_2_a_3_addetti
## # ℹ 1 more variable: Personale_esterno_Da_2_a_3_addetti <dbl>

Ordering the joined data offers significant insight about the type of employees working with museums. The highest percentage of consultant teams consisting of 2 or 3 people is found in the region of La Basilicata. However, la Basilacata reports number just slightly higher than Molise and Valle d’Aosta - Vallée d’Aoste who both report 28 museums and galleries.

La Toscana remains a strong path to working externally on a team of 2 or 3. But, it might be worthwhile to investigate Calabria if I wish to work internally. I am not clear about the distinctions but the data does not exclude possibility.

Personale_esterno_Da_2_a_3_addetti - highest % is la Toscana 26.8% (386 museums) consulenti_Da_2_a_3_addetti - highest is la Basilicata 21.4% (32 museums) Personale_interno_Da_2_a_3_addetti - highest is Calabria 35.1% ( 109 museums)

X1_Musei_2021_emp1a[order(-X1_Musei_2021_emp1$Personale_esterno_Da_2_a_3_addetti),]
## # A tibble: 22 × 5
##    regions          museo_galleria consulenti_Da_2_a_3_…¹ Personale_interno_Da…²
##    <chr>                     <dbl>                  <dbl>                  <dbl>
##  1 Toscana                     386                   11.7                   26.8
##  2 Friuli-Venezia …            120                   16.6                   16.6
##  3 Puglia                       98                    8.4                   17.6
##  4 Umbria                      121                    8.1                   23  
##  5 Lazio                       216                    9.1                   17.8
##  6 Molise                       28                    2.9                   20.6
##  7 Marche                      216                    8.3                   12.2
##  8 Emilia-Romagna              348                    9.4                   20.3
##  9 Trento                       70                   12.2                   18.3
## 10 Liguria                     133                    5.1                   19.2
## # ℹ 12 more rows
## # ℹ abbreviated names: ¹​consulenti_Da_2_a_3_addetti,
## #   ²​Personale_interno_Da_2_a_3_addetti
## # ℹ 1 more variable: Personale_esterno_Da_2_a_3_addetti <dbl>

When I add Emilia-Romagna to the list to compare, a position as a consultant seems less likely. It is also more likely to work with an internal or external team in la Toscana.

X1_Musei_2021_emp1b <-X1_Musei_2021_emp1a %>% 
  filter(regions == "Toscana" | regions == "Emilia-Romagna"| regions == "Friuli-Venezia Giulia" | regions == "Calabria"| regions == "Basilicata")
X1_Musei_2021_emp1b
## # A tibble: 5 × 5
##   regions           museo_galleria consulenti_Da_2_a_3_…¹ Personale_interno_Da…²
##   <chr>                      <dbl>                  <dbl>                  <dbl>
## 1 Friuli-Venezia G…            120                   16.6                   16.6
## 2 Emilia-Romagna               348                    9.4                   20.3
## 3 Toscana                      386                   11.7                   26.8
## 4 Basilicata                    32                   21.4                   11.9
## 5 Calabria                     109                    8.2                   35.1
## # ℹ abbreviated names: ¹​consulenti_Da_2_a_3_addetti,
## #   ²​Personale_interno_Da_2_a_3_addetti
## # ℹ 1 more variable: Personale_esterno_Da_2_a_3_addetti <dbl>

In conclusion, the data supplied does provide some insight about the possibility of working in Italy as a consultant for a museum or gallery. It is more likely that I can find an internal position. The data does not dissuade me from Emilia-Romagna if I wish to work with an internal team.

In conclusione, i dati forniti forniscono alcune indicazioni sulla possibilità di lavorare in Italia come consulente per un museo o una galleria. È più probabile che riesca a trovare una posizione interna. I dati non mi dissuadono dall’Emilia-Romagna se desidero lavorare con un team interno.