Menu
Coddy logo textTech

R Cheat Sheet

Ultimo aggiornamento

Hello World e assegnazione

L'operatore di assegnazione idiomatico di R è <- (funziona anche l'operatore =).

OperazioneSintassi
Stampare un valoreprint("Hello, World!")
Stampa automatica (console)"Hello, World!"
Concatenare e stamparecat("Hi", name, "\n")
Assegnare (idiomatico)x <- 5
Assegnare (anche valido)x = 5
Assegnazione a destra5 -> x
Commento# this is a comment
Eseguire uno scriptRscript app.R

Tipi di dati e vettori

Il vettore è la struttura dati fondamentale di R; anche un singolo valore è un vettore di lunghezza 1.

OperazioneSintassi
Vettore numericov <- c(1, 2, 3)
Vettore di caratteris <- c("a", "b")
Vettore logicob <- c(TRUE, FALSE)
Sequenza di interi1:10
Sequenza con passoseq(0, 1, by = 0.1)
Ripetere valorirep(0, times = 5)
Tipi basenumeric, character, logical, integer, complex
Controllare / forzare il tipoclass(x), as.numeric("42")

Operazioni sui vettori

Le operazioni sono vettorizzate e si applicano elemento per elemento; l'indicizzazione parte da 1.

OperazioneSintassi
Accedere a un elemento (da 1)v[1]
Estrarre un intervallov[2:4]
Filtro logicov[v > 2]
Escludere un elementov[-1]
Calcoli elemento per elementov * 2, v1 + v2
Lunghezzalength(v)
Riduzioni comunisum(v), mean(v), max(v)
Ordinare / invertiresort(v), rev(v)
Vettore con nomic(a = 1, b = 2)

Data frame

Un data frame è una tabella di colonne, ognuna un vettore della stessa lunghezza.

OperazioneSintassi
Creare un data framedf <- data.frame(name = c("Ada"), age = c(30))
Prime / ultime righehead(df), tail(df)
Dimensioninrow(df), ncol(df), dim(df)
Nomi delle colonnenames(df), colnames(df)
Selezionare una colonnadf$age o df[["age"]]
Selezionare righe / colonnedf[1, ], df[, "age"]
Filtrare le righedf[df$age > 18, ]
Aggiungere una colonnadf$adult <- df$age >= 18
Statistiche riassuntivesummary(df)
Panoramica della strutturastr(df)

Fattori e liste

I fattori memorizzano dati categorici; le liste contengono elementi di tipi diversi.

OperazioneSintassi
Creare un fattoref <- factor(c("low", "high"))
Livelli del fattorelevels(f)
Fattore ordinatofactor(x, ordered = TRUE)
Contare per livellotable(f)
Creare una listal <- list(name = "Ada", scores = c(1, 2))
Accedere per nomel$name o l[["name"]]
Accedere per posizionel[[1]]
Sottolista (resta una lista)l[1]
Lunghezza / nomilength(l), names(l)

Controllo del flusso

Le condizioni vanno tra parentesi tonde e i blocchi tra graffe.

OperazioneSintassi
If / else if / elseif (x > 0) { ... } else if (x < 0) { ... } else { ... }
If-else vettorizzatoifelse(v > 0, "pos", "neg")
Ciclo forfor (i in 1:10) { ... }
For su un vettorefor (x in v) { ... }
Ciclo whilewhile (x < 100) { ... }
Repeat con breakrepeat { if (done) break }
Switchswitch(key, a = 1, b = 2)
Operatori logici&&, ||, ! (scalari); &, | (vettoriali)

Funzioni

Le funzioni sono oggetti di prima classe; viene restituita l'ultima espressione valutata.

OperazioneSintassi
Definire una funzioneadd <- function(a, b) { a + b }
Return esplicitoreturn(a + b)
Argomento predefinitogreet <- function(name = "World") { ... }
Argomento variadicof <- function(...) { sum(...) }
Chiamata per nomebox(w = 2, h = 3)
Funzione anonimafunction(x) x * 2
Anonima (forma breve)\(x) x * 2
Passare a una funzione di ordine superioresapply(1:3, function(x) x^2)

La famiglia apply

Applica una funzione ai dati senza scrivere cicli espliciti.

FunzioneCosa fa
apply(m, 1, sum)Applica sulle righe (1) o sulle colonne (2) di una matrice
sapply(v, f)Applica su un vettore, semplifica in vettore/matrice
lapply(v, f)Applica su un vettore, restituisce sempre una lista
vapply(v, f, numeric(1))Come sapply ma con tipo di ritorno verificato
mapply(f, a, b)Applica su più vettori in parallelo
tapply(x, group, mean)Applica una funzione per gruppo
Map(f, a, b)Apply multivariato che restituisce una lista
Reduce(+, v)Riduce un vettore con una funzione binaria

Funzioni comuni per manipolare dati e fare statistica

Funzioni base usate spesso per riassumere e rimodellare i dati.

FunzioneCosa fa
mean(v) / median(v)Media / valore centrale
sd(v) / var(v)Deviazione standard / varianza
min(v) / max(v) / range(v)Minimo / massimo / entrambi
quantile(v)Quantili (ad es. quartili)
table(x)Frequenze dei valori
unique(v) / duplicated(v)Valori distinti / segnala duplicati
is.na(v) / na.omit(df)Trovare / rimuovere valori mancanti
aggregate(y ~ g, df, mean)Riassumere y per gruppo g
order(v)Ordine degli indici per l'ordinamento
cor(x, y)Correlazione tra due vettori

La sintassi R che usi più spesso, in una sola pagina. Questa R cheat sheet è un riferimento rapido per il cuore del linguaggio: assegnazione e tipi di dati, vettori e operazioni sui vettori, data frame, fattori e liste, controllo del flusso, funzioni e la famiglia apply usata in tutta l'analisi dei dati con rstats.

Tutto quello che trovi qui è R base e funziona con un'installazione standard, senza pacchetti aggiuntivi. Copia ciò che ti serve o prova ogni snippet dal vivo nel playground R, senza alcuna configurazione.

Domande frequenti sulla R cheat sheet

Questa R cheat sheet è gratuita?
Sì. Questa R cheat sheet è completamente gratuita e non richiede registrazione. Salvala nei preferiti e torna qui ogni volta che devi cercare un'operazione sui vettori, un metodo per i data frame o una funzione statistica.
I vettori in R partono davvero da 1?
Sì. A differenza della maggior parte dei linguaggi di programmazione, in R l'indicizzazione parte da 1, quindi v[1] restituisce il primo elemento e v[length(v)] l'ultimo. Gli indici negativi hanno un significato speciale: v[-1] rimuove il primo elemento invece di contare dalla fine. Questa convenzione vale allo stesso modo per vettori, liste e data frame.
Cos'è un data frame in R?
Un data frame è il tipo tabella di R: una raccolta di colonne in cui ogni colonna è un vettore della stessa lunghezza, e colonne diverse possono contenere tipi diversi (numeri, testo, fattori). È la struttura standard per i dataset (le righe sono osservazioni e le colonne sono variabili): lo indicizzi con df[rows, columns], selezioni una colonna con df$name e lo esamini con str(df) o summary(df).
Posso esercitarmi con R online?
Sì. Apri il playground R per eseguire nel browser qualsiasi snippet di questa cheat sheet, senza installare R o RStudio. Quando vuoi un percorso strutturato, il corso R interattivo e gratuito di Coddy ti accompagna passo dopo passo dai vettori e data frame fino alla famiglia apply e alla statistica.
Questa cheat sheet va bene per chi inizia?
Sì. È organizzata dagli argomenti più comuni (assegnazione, vettori, data frame) fino a quelli avanzati (la famiglia apply e le funzioni statistiche), così puoi usare le prime sezioni fin dal primo giorno e affrontare il resto man mano che procedi.
Illustrazione dei linguaggi di programmazione di Coddy

Impara R con Coddy

INIZIA