Data management: import, manipulate, export

Matilde Trevisani

2024-04-03

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 pacchetto readr può essere usato allo stesso modo? L’output cambia in qualche aspetto?
  • Si usi spec() e problems() 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 tranne year (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 esportino i due dataframe nei file nobel-stem.csv e nobel-nonstem.csv in un’opportuna cartella (si legga il consiglio messo in incipit).
  1. 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