Esercizio I

Una residenza artistica ha un nome che la identifica ed è descritta da un luogo in cui si è svolta, una data di inizio e una data di fine. Ogni artista è identificato da un nome ed è descritto da sesso, età e nazionalità. Ogni artista può partecipare a nessuna o più residenze artistiche. Ogni residenza artistica ha almeno un artista che vi partecipa.

Scrivere uno schema concettuale Entità-Relazioni, usando la notazione vista durante il corso, che rappresenta l’informazione descritta.

Esercizio II

Scrivere uno schema relazionale per lo schema concettuale dell’esercizio precedente.

artista(nomeArtista, sesso, età, nazionalità)
residenza(nomeResidenza, luogo, dataInizio, dataFine)
partecipazione(nomeResidenza, nomeArtista)
partecipazione(nomeResidenza) –> residenza(nomeResidenza)
partecipazione(nomeArtista) –> artista(nomeArtista)

Esercizio III

Rispetto allo schema relazionale dell’esercizio precedente scrivere in dplyr le seguenti interrogazioni:

  1. Il numero e la proporzione di artisti maschi e femmine
  2. Gli artisti maggiorenni di sesso femminile che hanno partecipato almeno a 3 residenze svolte a Villa Manin
library(dplyr)

# Il numero e la proporzione di artisti maschi e femmine
artista %>% 
  group_by(sesso) %>% 
  summarize(n = n(), p = n / nrow(artista))

# Gli artisti maggiorenni di sesso femminile che hanno partecipato almeno a 3 residenze svolte a Villa Manin
partecipazione %>% 
  inner_join(select(residenza, luogo == "Villa Manin")) %>% 
  inner_join(select(artista, sesso == "femmina", età >= 18)) %>% 
  count(nomeArtista) %>%
  filter(n >= 3)  

Esercizio IV

Si consideri la seguente tabella che contiene, per ogni paese e anno, i casi di malattia e la popolazione.

messy
## # A tibble: 10 x 4
##    country      year type            count
##    <chr>       <int> <chr>           <int>
##  1 Afghanistan  1999 cases             745
##  2 Afghanistan  1999 population   19987071
##  3 Afghanistan  2000 cases            2666
##  4 Afghanistan  2000 population   20595360
##  5 Brazil       1999 cases           37737
##  6 Brazil       1999 population  172006362
##  7 Brazil       2000 cases           80488
##  8 Brazil       2000 population  174504898
##  9 China        1999 cases          212258
## 10 China        1999 population 1272915272
  1. Spiegare perché la tabella non è in formato tidy
  2. Scrivere codice in R per trasformare la tabella in formato tidy

La tabella non è in formato tidy perchè le osservazioni sono sparse su più righe e le variabili cases e population sono usate come valori nelle colonne type e count. Per trasformare la tabella in formato tidy uso il seguente codice:

spread(messy, key = type, value = count)

Eserizio V

A cosa si riferiscono le tre V che vengono tipicamente usate per caratterizzare i big data? [Si veda il syllabus del corso]