R Lab: Statistical Computing con R

Questa pagina contiene uno schema degli argomenti, materiale e compiti per il semestre. La pagina verrà aggiornata settimanalmente dopo le due lezioni in aula.

SETTIMANA DATA ARGOMENTO MATERIALE LETTURE HW
1 mer 1 ott Lab 1: Introduzione al corso | Introduzione ad R, RStudio e Positron | Caratteristiche del linguaggio R | Struttura di un’espressione | Tipologie di oggetti R: oggetti atomici (vettori, matrici e array) ed oggetti non atomici (oggetti “tabellari” e liste) | Cancellazione degli oggetti dal workspace 🖥️ Alcune slide introduttive

gio 2 ott Oggetti non atomici: liste senza nomi e liste con nomi | Modalità e lunghezza di un oggetto | Attributi di un oggetto | Script R | Sintassi di chiamata di una funzione | Puntamento agli elementi di un oggetto | Valori booleani e puntamento | Operatori aritmetici | Operatori logici: not, or e and | Operatori relazionali | Valori riservati: NULL, TRUE / FALSE, Inf, NaN e NA | Gestione del workspace: funzioni save.image, save e load 💻 Introduzione ad R
💻 Oggetti atomici
💻 Oggetti non atomici
💻 Puntamento e dintorni


mar 7 ott Consegna su MS-Teams: HW-01
📖 Introduction to R
Cap. 1 (tutto), 2 (tutto), 3 (tutto), 5 (par. 5.1, 5.2, 5.3, 5.4, 5.8 e 5.9) e 6 (par. 6.1, 6.2, 6.3.1, 6.3.3)

📗 R for Data Science
Cap. 1 e 2
✍️ HW-01
2 mer 8 ott Lab 3: Funzioni relative alle distribuzioni di probabilità e funzioni di densità: r_, d_, p_ e q_ | Numeri pseudo-casuali: la funzione set.seed | Progetti RStudio | Missing value | L’operatore pipe nativo e l’operatore pipe del package magrittr


gio 9 ott Factor e ordered factor | Importazione file dei dati: tibble e dataframe | Il package janitor: la funzione clean_names | Introduzione al package dplyr e alla grammatica per la manipolazione dei dati: la funzione mutate | Ricodifica di una variabile sfruttando if_else


mar 14 ott Consegna su MS-Teams: HW-02 💻 Funzioni per i modelli di variabili casuali

💻 Miscellanea: missing value e factor
📖 Introduction to R
Cap. 2 (par. 2.5), 7 (tutto), 8 (par. 8.1 e 8.2)

📗 R for Data Science
Cap. 6, 7, 8 e 20

🗒️ Regole per la scrittura di buon codice (versione compatta)
🗒️ Regole per la scrittura di buon codice (versione estesa)
✍️ HW-02
3 mer 15 ott Lab 5: La grammatica per la data manipulation: il package dplyr: mutate, recode, case_when, case_switch, if_else, cut e sue varianti | Utilizzo dei prompt di AI per la generazione dei comandi R


gio 16 ott La grammatica per la data manipulation: il package dplyr: relocate, arrange, rename, mutate, filter, select, summarise e group_by | Imputazione di valori mancanti usando un singolo valore per colonna o usando valori differenziati per gruppi di unità | Creazione di tabelle di frequenze univariate e bivariate: le funzioni table e tabyl


mar 21 ott Consegna su MS-Teams: HW-03 💻 La grammatica per la data manipulation: dplyr e dintorni

💻 tabyl e dintorni
📗 R for Data Science
Capitolo 3

📖 Documentazione package dplyr
🗒️ Introduction to dplyr
🗒️ Grouped data
🗒️ dplyr <-> base R
🗒️ A general vectorised switch (case_match)
🗒️ A general vectorised if-else (case_when)
🗒️ Column-wise operations

📖 Documentazione package janitor
🗒️ Overview of janitor functions
🗒️ tabyls: a tidy, fully-featured approach to counting things
✍️ HW-03
4 mer 22 ott Lab 7: I verbi di dplyr per due tabelle: join (inner, left, right e full) ed operazioni su insiemi (intersect, union e setdiff)


gio 23 ott Manipolazione di tabelle: il package tidyr e le operazioni di pivoting | Cenni alle operazioni di rectangling e nesting


mar 28 ott Consegna su MS-Teams: HW-04 🖥️ Pivoting e dintorni
🖥️ Verbi a due tabelle
💻️ Pivoting (tidyr)
💻️ Verbi a due tabelle (dplyr)

💻️ Progetto RStudio verbi a due tabelle e pivoting usato in aula
💻️ Codice R di esempio verbi a due tabelle add-in
📗 R for Data Science
Cap. 2 e 19

📖 Documentazione package tidyr
🗒️ Pivoting
🗒️ Rectangling
🗒️ Nested data

📖 Articolo “Tidy Data” (Hadley Wickham, 2014) - Journal of Statistical Software
✍️ HW-04
5 mer 29 ott Lab 9: La grammatica per la grafica: il package ggplot2 | La logica dei layer di ggplot2


gio 30 ott Principali grafici con ggplot2 | Estensioni del package ggplot2 | Package per la grafica interattiva: plotly, ggiraph, highcharter e dygraphs | Utilizzo dell’animazione sui grafici: gganimate (studio autonomo)


mar 4 nov Consegna su MS-Teams: HW-05 🖥️ Grafica in ggplot2
🖥️ Grafica interattiva ed animazioni
📗 R for Data Science
Cap. 1, 9, 10 e 11

🖥️ The R graph gallery
📖 Documentazione ufficiale ggplot2
💻️ Libro ggplot2

💻️ Estensioni ggplot2
🗒️ Documentazione package patchwork
🗒️ Documentazione package ggstatsplot
🗒️ Documentazione package ggpubr
🗒️ Documentazione package ggeasy
✍️ HW-05
6 mer 5 nov Lab 11: Il sistema Quarto per la reportistica in R | Literate programming | Il linguaggio Markdown | Utilizzo di chunk di codice | Cenni ai progetti Quarto: website, blog e book


gio 6 nov Package per la reportistica tabellare: knitr, kableExtra, DT, gt, gtExtra, formattable | Creazione di un report che sfrutta codice esterno: la funzione read_chunk {knitr}


mar 11 nov Consegna su MS-Teams: HW-06 🖥️ Quarto: un sistema di pubblicazione scientifica e tecnica open source
🖥️ Quarto lezione #01: scarica il progetto RStudio in formato compresso
🖥️ Quarto lezione #02: scarica il progetto RStudio in formato compresso
📗 R for Data Science
Cap. 28 e 29

📖 Quarto: the official guide
🖥️ Tutorial: Hello Quarto
💻️ Tutorial: Computations
💻️ Tutorial: Authoring

🗒️ Documentazione package kableExtra
🗒️ Documentazione package gt
🗒️ Documentazione package gtExtras
🗒️ Documentazione package formattable
✍️ HW-06
7 mer 12 nov Lab 13: Quarto Dashboard in R. Struttura di una dashboard: layout, pages, tabsets, cards, sidebar, valueBox. Cambio del tema grafico di una dashboard.


gio 13 nov Creazione di una dashboard sul dataset gapminder. Report Quarto parametrici. Il package quarto e la funzione quarto_render.


mar 18 nov Consegna su MS-Teams: HW-07 🖥️ Quarto: scarica il progetto con le dashboard in formato compresso 📖 Quarto dashboards
📖 Dashboard Layout
📖 Dashboard data display
📖 Dashboard Input Layout
📖 Dashboard theming
📖 Dashboard parameters

🖥️ Tutorial: Quarto Dashboards 1: Hello, Dashboards! | Mine Çetinkaya-Rundel | Posit
💻️ Tutorial: Quarto Dashboards 2: Components | Mine Çetinkaya-Rundel | Posit
💻️ Tutorial: Quarto Dashboards 3: Theming and Styling | Mine Çetinkaya-Rundel | Posit

🖥️ Tutorial: Quarto Dashboards 1: Hello, Dashboards! | Mine Çetinkaya-Rundel | Posit
💻️ Tutorial: Quarto Dashboards 2: Components | Mine Çetinkaya-Rundel | Posit

💻️ Tutorial: Parameterized reporting in R using Quarto
💻️ Tutorial: Parameterized reporting with Quarto, R
✍️ HW-07
8 mer 19 nov Lab 15: Creazione di una funzione | Strutture di selezione ed iterazione | Cenni alle funzioni della famiglia apply


gio 20 nov Interattività nei file Quarto: breve introduzione al linguaggio OJS (Obvservable Java Script) per aggiungere controlli interfaccia utente. Utilizzo di un LLM (ChatGPT, Copilot, Claude, Gemini, DeepSeek, Kimi, ecc.) per generare codice OJS. Creazione di una funzione in R: oggetto function. Struttura di selezione: il costrutto if e if - else.


mar 25 nov Consegna su MS-Teams: HW-08 🖥️ Quarto: scarica il progetto con OJS per l’interattività
🖥️ Quarto: scarica il progetto con il codice per i report parametrici
🖥️ Funzioni in R
🖥️ Approfondimenti sulla creazione di funzioni in R
📖 Introduction to R - Cap. 10

📗 R for Data Science
Cap. 25, 26 e 27

📖 Interactive Dashboards

🗒️ Blog su Quarto - Fun with OJS
🖥️ Learn Observable Workshop

Video tutorial su Observable JavaScript[OPZIONALI]
🖥️ Allison Horst - Observable Plot for Fast Interactive Data Visualizations in JavaScript

🖥️ Session 1: Arrays, objects, & arrow functions – Intro to data wrangling & analysis in JavaScript
🖥️ Session 2: Map, filter, and Arquero – Introduction to data wrangling & analysis in JavaScript
🖥️ Session 3: Summary statistics, groups & rollups – Intro to data wrangling & analysis in JavaScript

🖥️ Session 1 — Data science workflows in JavaScript
🖥️ Session 2 — Data science workflows in JavaScript
✍️ HW-08
9 mer 26 nov Lab 17: Strumenti di debug in R. Programmazione funzionale: il package purrr: funzioni map e walk, map2 e walk2, pmap e pwalk.


gio 27 nov Annullata


mar 2 dic Consegna su MS-Teams: HW-09 🖥️ Programmazione funzionale
🖥️ Approfondimenti sulla programmazione funzionale
📖 Advanced R - Functional programming. Introduction
📖 Advanced R - Functional programming. Functionals

🗒️ Documentazione package purrr
🖥️ Tutorial: purrr | Hadley Wichkam | Posit
🗒️ purrr tutorial
💻️ Tutorial: How to purrr

💻️ Tutorial: The purrr package map functions in the Tidyverse; Learn R
🗒️ Documentazione package furrr
✍️ HW-09
10 mer 3 dic Lab 18: Funzioni per la gestione di dati in formato testuale: il package stringr e le espressioni regolari.


gio 4 dic Un’applicazione di analisi di dati testuali: il package tidytext. Gestione delle date in R. Cenni al webscraping: il package rvest.


mer 10 dic Consegna su MS-Teams: HW-10 🖥️ Funzioni stringhe e date: scarica il progetto RStudio in formato compresso
🖥️ Analisi testuale “I Promessi Sposi”: scarica il progetto RStudio in formato compresso
📗 R for Data Science
Cap. 14 e 17

🗒️ Documentazione package lubridate

🖥️ Tutorial: Lubridate - how to manipulate date and time data in R
🖥️ Date & Time Data with lubridate
✍️ HW-10