Documentazione R
Guida di riferimento a R concisa e ricca di esempi. Leggi il concetto, guarda il codice e poi mettilo in pratica in un percorso Coddy.
Getting Started
- Cos'è R?Cos'è il linguaggio di programmazione R, da dove viene, a cosa serve e come si confronta con Python, con un primo assaggio di codice R da eseguire.
- Installare RCome scaricare R da CRAN e installarlo su Windows, macOS o Linux, più RStudio, l'IDE che quasi tutti usano per scrivere codice R.
- Eseguire uno script RTutti i modi per eseguire codice R: la console interattiva, Rscript dalla riga di comando, source() dall'interno di R e i comandi Run e Source di RStudio.
- Sintassi di RIl cuore della sintassi di R: l'assegnazione con <-, le espressioni e la stampa automatica, le chiamate di funzione con argomenti nominati e la regola per cui tutto è un vettore.
- CommentiCome funzionano i commenti in R: il simbolo #, perché R non ha un vero commento multilinea, la scorciatoia di RStudio per commentare interi blocchi e cosa dicono i buoni commenti.
Variables & Data
- VariabiliCome creare variabili in R con la freccia <-, quando serve invece =, le regole per i nomi e come elencare e rimuovere variabili con ls() e rm().
- Tipi di datiI tipi di dati atomici di R (double, integer, character, logical), la differenza tra typeof() e class() e come funzionano conversione e coercizione.
- NumeriLavorare con i numeri in R: numeric contro integer, la famiglia degli arrotondamenti, sqrt e log, l'operatore modulo %% e i valori speciali Inf e NaN.
- StringheTutto quello che ti serve per il testo in R: creare stringhe, unirle con paste e paste0, formattarle con sprintf e cercare con gsub, grepl e strsplit.
- Input e outputCome funziona l'output in R, tra stampa automatica, print() contro cat() e message(), e come leggere l'input dell'utente con readline() e readLines().
Control Flow
- OperatoriTutti gli operatori che ti servono in R: aritmetica compresi %% e %/%, confronti vettorizzati, la differenza tra & e && e %in% per verificare l'appartenenza.
- If / ElseLa logica condizionale in R: la sintassi if/else if/else, il tranello delle parentesi graffe che rompe gli script, ifelse() vettorizzato per vettori interi e switch() per le scelte multiple.
- Cicli forCome funzionano i cicli for in R: scorrere vettori e indici, raccogliere risultati senza la trappola del vettore che cresce, next e break, e quando una chiamata vettoriale batte un ciclo.
- Cicli whileCome funzionano i cicli while in R: il ciclo che controlla prima la condizione, repeat con break come do-while di R, next e le abitudini che ti tengono lontano dai cicli infiniti.
Data Structures
- VettoriI vettori sono l'unità fondamentale di R: anche un singolo numero è un vettore. Come crearli con c(), indicizzarli (da 1!), filtrarli con maschere logiche e fare calcoli su interi vettori in una volta.
- ListeLe liste sono il contenitore di R dove va bene tutto: tipi misti, strutture annidate, interi data frame. L'abilità chiave è sapere quando [ restituisce una lista più piccola e quando [[ restituisce l'elemento stesso.
- MatriciCome costruire matrici con matrix(), cbind() e rbind(), indicizzare righe e colonne e tenere distinto il * elemento per elemento dalla vera moltiplicazione matriciale %*%.
- FactorI factor sono il modo in cui R memorizza i dati categoriali: codici interi con addosso etichette di testo. Come crearli, ordinarli, scegliere il livello di riferimento ed evitare la trappola della conversione da factor a numero.
- Data frameIl data frame è il foglio di calcolo di R: colonne con nome della stessa lunghezza, ognuna con il proprio tipo. Come crearne uno, esaminarlo con str() e head() e accedere a colonne, righe e celle.
- Valori mancanti (NA)NA significa "sconosciuto" e si diffonde in ogni calcolo che tocca. Come individuarlo con is.na(), saltarlo con na.rm = TRUE ed eliminarlo o sostituirlo in modo consapevole.
Functions & Packages
- FunzioniCome creare una funzione in R: la sintassi function(x) { }, i valori di ritorno, gli argomenti predefiniti e con nome, i ... (dots), le funzioni anonime e come funziona lo scope.
- Famiglia applyLa famiglia apply (apply, lapply, sapply, vapply, mapply e tapply) esegue una funzione su ogni elemento dei tuoi dati. Ecco cosa fa ciascuna e quando usarla.
- PipeCosa significa %>%, come funziona la pipe nativa |> di R base, le regole e i segnaposto di ciascuna e quale usare nel codice nuovo.
- PacchettiCome funzionano i pacchetti R: installarli da CRAN con install.packages(), caricarli con library(), require() contro library(), pkg::fun() e i pacchetti che vale la pena conoscere.
- Directory di lavoroDove R cerca i file e come controllarlo: getwd(), setwd(), list.files(), pulire l'ambiente con rm(list = ls()) e perché il salvataggio automatico di .RData è un tranello.
Data Wrangling
- dplyrCos'è dplyr, come installarlo e come i suoi sei verbi principali, insieme alla pipe, trasformano codice disordinato sui data frame in pipeline leggibili.
- Filtrare e selezionareTutti i modi per tenere le righe e le colonne che vuoi: maschere logiche con le parentesi quadre, subset() in una riga, %in%, le trappole di NA e filter() e select() di dplyr.
- Aggiungere colonne (mutate)Come aggiungere, trasformare ed eliminare colonne di un data frame: df$new <- ..., ifelse() per colonne condizionali, transform() e mutate() di dplyr con case_when().
- Rinominare colonneRinominare le colonne di un data frame in R: names() e colnames(), rinominare per posizione o per nome, setNames(), rename() di dplyr e la pulizia delle intestazioni disordinate importate.
- OrdinamentoCome funziona davvero l'ordinamento in R: sort() per i vettori, perché i data frame hanno bisogno del trucco degli indici di order(), l'ordine decrescente e su più colonne, e arrange() di dplyr.
- Raggruppare e riassumereTutti i modi per calcolare statistiche per gruppo in R: contare con table(), tapply() per una statistica per gruppo, l'interfaccia a formula di aggregate() e il group_by() con summarize() di dplyr.
- Merge e joinCombinare data frame tramite una chiave comune: merge() per inner, left, right e full join, chiavi con nomi diversi con by.x/by.y, la famiglia di join di dplyr e rbind() per impilare righe.
- Pivot (ristrutturare)I formati di dati largo e lungo e come passare dall'uno all'altro: pivot_longer() e pivot_wider() di tidyr, i vecchi nomi spread/gather e reshape() di R base.
Import & Export
- Leggere CSVCome importare file CSV in R con read.csv(): gli argomenti che contano, il tranello della directory di lavoro che causa la maggior parte degli errori e quando conviene readr::read_csv.
- Leggere ExcelR da solo non apre i file .xlsx: ci pensa il pacchetto readxl. Come leggere fogli, intervalli e intestazioni, scrivere di nuovo in Excel ed evitare i classici tranelli dell'importazione.
- Scrivere CSV e RDSEsportare da R: write.csv con row.names = FALSE (sempre), write.table per altri delimitatori e saveRDS per salvare e ricaricare senza perdere i tipi.
- DateLa classe Date di R è un conteggio di giorni travestito. Come interpretare stringhe con as.Date, formattare le date in output, sottrarle, creare sequenze e quando ti serve invece POSIXct.
Plots & Charts
- plot()Come funziona la funzione plot() di R: tipi di grafico, titoli ed etichette degli assi, colori, simboli dei punti (pch), sovrapposizioni con lines() e abline() e legende.
- IstogrammaCome fare un istogramma in R con hist(): scegliere i breaks, dare stile alle barre, passare alla scala di densità, sovrapporre una curva normale e la versione ggplot2.
- BoxplotCome creare un boxplot in R con boxplot(): leggere scatola e baffi, l'interfaccia a formula per confrontare gruppi, lo stile e i numeri che stanno dietro al grafico.
- Grafico a dispersioneCome fare un grafico a dispersione in R: rappresenta due variabili con plot(), aggiungi una retta di regressione con abline(lm()), una curva con lowess() e costruisci una matrice con pairs().
- Grafico a barreCome creare un grafico a barre in R con barplot(): da un vettore con nomi o da table(), barre affiancate e impilate da una matrice, stile, e geom_col contro geom_bar.
- ggplot2Come funziona ggplot2: il modello mentale dati + aes() + geom, mappare contro impostare le estetiche, labs(), facet_wrap(), i temi e il salvataggio dei grafici con ggsave().
Statistics
- Statistiche descrittiveCome riassumere i dati in R con mean(), median(), sd(), var(), summary() e quantile(): cosa calcola ciascuna, il dettaglio n−1 dietro sd() e perché mode() di R è una trappola.
- CorrelazioneMisura come due variabili si muovono insieme con cor(), verifica se la relazione è reale con cor.test() e analizza molte variabili in una volta con una matrice di correlazione.
- Test tEsegui test t a un campione, a due campioni e appaiati con t.test() e, cosa che conta davvero, leggi ogni riga dell'output: t, df, p-value, intervallo di confidenza.
- ANOVAConfronta le medie di tre o più gruppi con aov(), leggi la tabella ANOVA cella per cella e scopri quali gruppi differiscono davvero con TukeyHSD().
- Regressione lineareStima una regressione con lm(), leggi ogni blocco di summary() (coefficienti, errori standard, p-value, R quadro, statistica F) e fai previsioni con predict().
- Regressione logisticaModella esiti sì/no con glm(family = binomial): leggi il summary, trasforma i coefficienti in log-odds in odds ratio con exp() e ottieni le probabilità previste nel modo giusto.
- Intervalli di confidenzaOttieni intervalli di confidenza per medie, proporzioni e coefficienti di modelli con t.test(), prop.test() e confint(), e scopri cosa significa davvero "confidenza al 95%" e come la dimensione del campione determina l'ampiezza.
- Numeri casualiGenera dati casuali con rnorm(), runif(), rbinom() e sample(), rendili riproducibili con set.seed() e decifra il sistema di nomi d/p/q/r che R usa per le distribuzioni.