Esercizio 1: Daily show
- Si crei un progetto di RStudio per questo laboratorio e si crei una
sottocartella (della cartella del progetto) con nome “data” dove salvare
il file
daily_show_guests.csv
- Si ispezioni il file prima di importarlo in R
- Si legga in R il file
daily_show_guests.csv
- Si guardi la struttura e le prime righe dei dati
- (Se sopra si è usato un altro comando per la lettura) Il comando
read_csv
del pacchettoreadr
può essere usato allo stesso modo? L’output cambia in qualche aspetto? - Si usi
spec()
eproblems()
per verificare se ci sono incongruenze o qualunque tipo di problema nella lettura. - Si rinomini le variabili se qualche nome non rispetta le “buone regole”. (usare year, job, date, category, guest_name al posto dei vecchi nomi).
- Si selezioni tutte le colonne in
daily_show
tranneyear
(perchè è una variabile superflua?). - Si selezioni l’ultima colonna.
- Si riordini i dati secondo i valori (categorie) nella variabile
category
in ordine alfabetico. - Si riordini i dati secondo le date dalla più recente alla più antica. Si controlli l’output e in caso non risponda correttamente alla domanda modificate il codice opportunamente.
- Si crei un dataframe che includa solo gli ospiti la cui professione è stata catalogata come scientifica.
- Come si distribuiscono le professioni all’interno di questa categoria?
- Infine, si selezionino solo coloro che sono chirurghi (chirurgia generale o settoriale).
Si ricordano alcuni operatori logici
Operator | Meaning | Example |
---|---|---|
== |
equals | category == "Acting" |
!= |
does not equal | category != "Comedy |
%in% |
is in | category %in% c("Academic", "Science") |
is.na() |
is NA | is.na(job) |
!is.na() |
is not NA | !is.na(job) |
& |
and | year == 2015 & category == "Academic" |
| |
or | year == 2015 | category == "Academic" |
Esercizio 2: Nobel winners
Quando si effettuano delle manipolazioni su dati grezzi è buona pratica o tenere in cartelle separate i dati grezzi e quelli aggiornati, oppure, in alternativa, cambiare il nome al nuovo dataset
- Si legga il file
nobel.csv
in R (conviene ispezionare il file prima di importarlo). - Si divida in due (STEM e non-STEM):
- si crei un nuovo dataframe,
nobel_stem
, che contenga solo le aree STEM
(Physics, Medicine, Chemistry, e Economics). - Si crei un altro dataframe,
nobel_nonstem
, che contenga le aree rimanenti.
- si crei un nuovo dataframe,
- Si esportino i due dataframe nei file
nobel-stem.csv
enobel-nonstem.csv
in un’opportuna cartella (si legga il consiglio messo in incipit).
- Si legga il file
- Si faccia uno studio sulla prevalenza del genere femminile tra i nobel. Il percorso di analisi è libero. (Qualche suggerimento: la prevalenza cambia tra le categorie? nel corso del tempo? nell’età?).
library(tidyverse)
Let’s first load the data:
nobel <- ___(___)
Then let’s split the data into two:
# stem laureates
___ <- nobel %>%
___(___)
# non-stem laureates
___ <- nobel %>%
___(___)
And finally write out the data:
# add code for writing out the two data frames here
Analysis by gender: write your own roadmap