Un'introduzione alla programmazione in R
Questo corso offre un'introduzione completa all'ambiente di programmazione R, coprendo argomenti fondamentali come operazioni base sui vettori numerici, attributi degli oggetti, elaborazione di array e matrici, gestione di liste e frame di dati, fino alla modellazione statistica e alla produzione di grafici di alta qualità. È particolarmente adatto come testo introduttivo per l'analisi statistica e la scienza dei dati.
Panoramica del corso
📚 Riepilogo del contenuto
Questo corso è un'introduzione completa all'ambiente linguistico R, che copre argomenti fondamentali che vanno dalle operazioni di base sui vettori numerici, alle proprietà degli oggetti e alla gestione di array/matrice, fino alla gestione di liste e frame di dati, modellazione statistica e produzione di grafici di alta qualità. È adatto come testo introduttivo per l'analisi statistica e la scienza dei dati.
Padroneggia i concetti fondamentali del linguaggio R e apri la porta al calcolo statistico e alla visualizzazione dei dati.
Autore: Team Core di R
Ringraziamenti: Questo manuale è mantenuto dal Team Core di R. La versione in lingua cinese ringrazia Shigeru MASE per il lavoro di traduzione dalla versione giapponese, nonché Dr. ZP Li, Dr. Rui Li e altri membri del team di traduzione in cinese.
🎯 Obiettivi di apprendimento
- Avviare sessioni R, navigare nel sistema di aiuto e applicare le regole di sintassi di base (sensibilità al caso, assegnazioni e commenti).
- Distinguere tra vettori logici, vettori carattere e gestire valori mancanti (
NAeNaN). - Utilizzare quattro metodi distinti di indicizzazione per selezionare, escludere o modificare sottoinsiemi specifici di dati.
- Identificare e modificare le proprietà intrinseche (tipo e lunghezza) degli oggetti R.
- Utilizzare le funzioni
class()eattr()per gestire metadati e strutture dati degli oggetti. - Creare e manipolare fattori e fattori ordinati per rappresentare dati categorici.
- Definire e costruire array e matrici usando vettori di dimensione e la funzione
array(). - Applicare tecniche avanzate di indicizzazione, inclusa l'uso di matrici di indice per estrarre o modificare elementi specifici.
- Eseguire operazioni di algebra lineare, compresi prodotti esterni, trasposizioni generalizzate e inversioni matriciali.
- Costruire e modificare liste: creare liste con nomi e senza nomi e combinarle usando sintassi specifica di R.
🔹 Lezione 1: Introduzione a R e nozioni base sui vettori
Panoramica: Questa lezione introduce l'ambiente fondamentale di R, coprendo la sua sintassi di base, l'esecuzione dei comandi e i sistemi di aiuto. Esplora inoltre tipi specializzati di vettori — logici, carattere e valori mancanti — e fornisce metodi dettagliati per selezionare e modificare sottoinsiemi di dati tramite vettori di indice.
Risultati dell'apprendimento:
- Avviare sessioni R, navigare nel sistema di aiuto e applicare le regole di sintassi di base (sensibilità al caso, assegnazioni e commenti).
- Distinguere tra e creare vettori logici, vettori carattere e gestire valori mancanti (
NAeNaN). - Utilizzare quattro metodi distinti di indicizzazione per selezionare, escludere o modificare sottoinsiemi specifici di dati.
🔹 Lezione 2: Proprietà degli oggetti e gestione dei fattori
Panoramica: Questa lezione tratta le proprietà fondamentali degli oggetti R, in particolare le loro proprietà intrinseche come tipo e lunghezza, e come queste possano essere interrogate o modificate. Esplora inoltre i "fattori" — una struttura dati specializzata per gestire variabili categoriche — e dimostra come utilizzare la funzione tapply() per eseguire analisi statistiche raggruppate su livelli di fattore.
Risultati dell'apprendimento:
- Identificare e modificare le proprietà intrinseche (tipo e lunghezza) degli oggetti R.
- Utilizzare le funzioni
class()eattr()per gestire metadati e strutture dati degli oggetti. - Creare e manipolare fattori e fattori ordinati per rappresentare dati categorici.
🔹 Lezione 3: Array, Matrici e Algebra Lineare
Panoramica: Questa lezione esplora le solide capacità di R per gestire dati multidimensionali attraverso array e matrici. Gli studenti impareranno a definire strutture dati usando vettori di dimensione, eseguire indicizzazione complessa e svolgere operazioni fondamentali di algebra lineare — come moltiplicazione matriciale, inversione e decomposizioni — essenziali per il calcolo statistico e l'analisi dei dati.
Risultati dell'apprendimento:
- Definire e costruire array e matrici usando vettori di dimensione e la funzione
array(). - Applicare tecniche avanzate di indicizzazione, incluse l'uso di matrici di indice per estrarre o modificare elementi specifici.
- Eseguire operazioni di algebra lineare, compresi prodotti esterni, trasposizioni generalizzate e inversioni matriciali.
🔹 Lezione 4: Gestione dei dati: Liste, Frame di dati e I/O
Panoramica: Questa lezione copre i fondamenti della gestione di strutture dati complesse e dati esterni in R. Si concentra sulle liste — contenitori flessibili che contengono componenti di tipi diversi — e sulla pratica dell'Input/Output (I/O), inclusa la lettura di file esterni in strutture di liste, l'accesso a insiemi di dati integrati nei pacchetti e l'uso di strumenti interattivi di editing per modificare i dati.
Risultati dell'apprendimento:
- Costruire e modificare liste: creare liste con nomi e senza nomi e combinarle usando sintassi specifica di R.
- Accesso ai componenti: distinguere e applicare diversi metodi di indicizzazione (
[[ ]],[ ]e$) per recuperare dati da liste. - Input di dati esterni: usare la funzione
scan()per leggere dati da file esterni in liste o matrici strutturate.
🔹 Lezione 5: Distribuzioni di probabilità e test statistici
Panoramica: Questa lezione fornisce una guida completa per gestire distribuzioni di probabilità e condurre inferenza statistica in R. Gli studenti impareranno a utilizzare il sistema standardizzato di prefissi di R (d, p, q, r) per le funzioni di distribuzione, generare statistiche descrittive e valutare visivamente i dati usando funzioni cumulative empiriche (ecdf) e grafici Q-Q.
Risultati dell'apprendimento:
- Padronizzare la nomenclatura delle distribuzioni di R (prefissi d, p, q, r) e applicarla a distribuzioni standard come Normale, T e F.
- Costruire e interpretare strumenti diagnostici visivi, in particolare funzioni cumulative empiriche (ecdf) e grafici Quantile-Quantile (Q-Q), per valutare l'adattamento distributivo.
- Eseguire e differenziare tra test parametrici e non parametrici, inclusi test t di Welch, test di normalità di Shapiro-Wilk e test di Kolmogorov-Smirnov.
🔹 Lezione 6: Controllo del programma e logica iterativa
Panoramica: Questa lezione copre i meccanismi fondamentali per controllare il flusso di esecuzione in R. Si concentra sul raggruppamento di più espressioni in unità singole e sull'utilizzo di istruzioni di controllo — inclusi rami condizionali (if-else) e diverse strutture di loop (for, repeat e while) — per automatizzare compiti di analisi dei dati e gestire logiche complesse.
Risultati dell'apprendimento:
- Raggruppare più espressioni R in un'unica istruzione usando parentesi graffe.
- Implementare logica condizionale per eseguire blocchi di codice specifici in base a criteri logici.
- Costruire cicli iterativi per automatizzare operazioni ripetitive su strutture dati come vettori e liste.
🔹 Lezione 7: Sviluppo di funzioni personalizzate e gestione dello scope
Panoramica: Questa lezione esplora il passaggio dall'utilizzo di R come calcolatrice interattiva all'utilizzo come linguaggio di programmazione attraverso lo sviluppo di funzioni personalizzate. Copre la sintassi per la definizione di funzioni, la gestione degli argomenti, le regole di scoping lessicale e i concetti fondamentali del sistema orientato agli oggetti S3 di R attraverso funzioni generiche e metodi.
Risultati dell'apprendimento:
- Creare e richiamare funzioni personalizzate: definire funzioni con parametri formali e operatori binari personalizzati.
- Gestire argomenti e scoping: distinguere tra corrispondenza posizionale e per nome degli argomenti e spiegare come lo scoping lessicale gestisca variabili locali e libere.
- Implementare stato mutabile e ambienti personalizzati: usare chiusure e l'operatore di assegnazione superiore per mantenere lo stato e personalizzare l'ambiente R tramite funzioni di avvio/sessione.
🔹 Lezione 8: Modellazione statistica: lineare e non lineare
Panoramica: Questa lezione esplora l'ampia gamma di strumenti disponibili in R per la modellazione statistica oltre alla semplice regressione lineare. Copre l'estrazione di informazioni sui modelli tramite funzioni generiche, il confronto di modelli tramite ANOVA e l'adattamento di Modelli Lineari Generalizzati (GLM) per dati binari e di conteggio, insieme a tecniche di modellazione non lineare.
Risultati dell'apprendimento:
- Usare funzioni generiche di R per estrarre, riassumere e visualizzare informazioni dai modelli adattati.
- Effettuare confronti tra modelli usando tabelle ANOVA e aggiornare modelli esistenti usando una sintassi efficiente.
- Adattare Modelli Lineari Generalizzati (GLM) usando famiglie e funzioni di collegamento appropriate (es. Logit, Probit, Poisson).
🔹 Lezione 9: Visualizzazione dei dati con grafici di alto e basso livello
Panoramica: Questa lezione copre le potenti capacità grafiche di R, distinguendo tra funzioni di tracciamento di alto livello che creano grafici completi e comandi di basso livello che aggiungono elementi specifici a schermate esistenti. Gli studenti impareranno a manipolare i parametri grafici per un controllo estetico preciso e a gestire ambienti multipli per figure.
Risultati dell'apprendimento:
- Distinguere tra e implementare funzioni grafiche di alto livello (es.
plot(),hist()) e di basso livello (es.points(),lines()). - Applicare e gestire parametri grafici usando sia condizionamenti permanenti (
par()) che temporanei (a livello di funzione). - Coordinare layout complessi, inclusi display multivariati e ambienti con più figure.
🔹 Lezione 10: Ecosistema dei pacchetti e configurazione dell'ambiente
Panoramica: Questa lezione esplora le basi strutturali di R, concentrandosi sull'ecosistema dei pacchetti, il ruolo di CRAN e il meccanismo degli spazi dei nomi per gestire le funzioni. Offre inoltre una guida pratica per eseguire R tramite diverse interfacce e padroneggiare la configurazione dell'ambiente tramite argomenti da riga di comando e scorciatoie da tastiera.
Risultati dell'apprendimento:
- Comprendere il rapporto tra pacchetti, spazi dei nomi e il sistema repository CRAN.
- Eseguire una sessione "esempio completa" che coinvolge manipolazione dei dati, modellazione statistica e tracciamento matematico complesso.
- Configurare l'ambiente di avvio di R usando flag da riga di comando e variabili d'ambiente.