Che tu stia confrontando come diversi gruppi demografici rispondono alle campagne di marketing, concentrandoti su un intervallo temporale specifico o estraendo informazioni su pochi prodotti selezionati dall'inventario, creare sottoinsiemi ti permette di ottenere osservazioni utili dal tuo dataset. R è un ottimo strumento che rende il subsetting dei dati facile e intuitivo. Alla fine di questo tutorial saprai estrarre dal dataset esattamente le informazioni che ti interessano.
Creare un sottoinsieme non modifica il contenuto dei dati, ma seleziona semplicemente la porzione più rilevante per l'obiettivo che hai in mente. In generale, ci sono tre modi per creare sottoinsiemi di righe e colonne di un dataset: per indice, per nome e per valore.
Creare sottoinsiemi di righe e colonne per indice
Un modo per creare sottoinsiemi di righe e colonne è usare gli indici del dataset. È come descrivere le righe e le colonne come "la prima riga", "tutte le righe nelle colonne seconda e quinta" o "la prima riga nelle colonne dalla seconda alla quinta". Specifichiamo queste frasi usando un dataset chiamato iris in R. Dalla sua documentazione, "[q]uesto famoso dataset dell'iris (di Fisher o Anderson) fornisce le misure in centimetri delle variabili lunghezza e larghezza del sepalo e lunghezza e larghezza del petalo, rispettivamente, per 50 fiori di ciascuna delle 3 specie di iris. Le specie sono Iris setosa, versicolor e virginica."
# "La prima riga":
iris[1, ]
# "Tutte le righe nelle colonne seconda e quinta":
iris[, c(2, 5)]
# "La prima riga nelle colonne dalla seconda alla quinta":
iris[1, 2:5]
Per creare un sottoinsieme dei dati si usano le parentesi quadre dopo l'oggetto dataset. Le righe del dataset si specificano come primo elemento dentro le parentesi quadre e le colonne come secondo elemento, separati da una virgola:
data[rows, columns]
Creare sottoinsiemi di righe e colonne per nome
In R, le righe e le colonne del dataset hanno attributi di nome. I nomi delle righe sono usati raramente e per impostazione predefinita forniscono indici—interi numerati da 1 al numero di righe del dataset—proprio come hai visto nella sezione precedente. Infatti, se chiamassi rownames() sul dataset iris, vedresti che sono indicizzate semplicemente da 1 a 150:
> rownames(iris)
[1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14"
[15] "15" "16" "17" "18" "19" "20" "21" "22" "23" "24" "25" "26" "27" "28"
[29] "29" "30" "31" "32" "33" "34" "35" "36" "37" "38" "39" "40" "41" "42"
[43] "43" "44" "45" "46" "47" "48" "49" "50" "51" "52" "53" "54" "55" "56"
[57] "57" "58" "59" "60" "61" "62" "63" "64" "65" "66" "67" "68" "69" "70"
[71] "71" "72" "73" "74" "75" "76" "77" "78" "79" "80" "81" "82" "83" "84"
[85] "85" "86" "87" "88" "89" "90" "91" "92" "93" "94" "95" "96" "97" "98"
[99] "99" "100" "101" "102" "103" "104" "105" "106" "107" "108" "109" "110" "111" "112"
[113] "113" "114" "115" "116" "117" "118" "119" "120" "121" "122" "123" "124" "125" "126"
[127] "127" "128" "129" "130" "131" "132" "133" "134" "135" "136" "137" "138" "139" "140"
[141] "141" "142" "143" "144" "145" "146" "147" "148" "149" "150"
> nrow(iris)
[1] 150
I nomi delle righe sono più comuni in dataset piccoli e servono a rendere facilmente identificabili le osservazioni. Per esempio, per un piccolo dataset con le informazioni sanitarie dei pazienti di un medico, i nomi delle righe potrebbero essere i nomi completi dei pazienti.
I nomi delle colonne, invece, sono presenti in quasi tutti i dataset. Puoi accedervi con la funzione colnames() o con la funzione names():
colnames(iris)
[1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
names(iris)
[1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
Per creare sottoinsiemi del dataset usando i nomi di righe e colonne, usa semplicemente di nuovo le parentesi quadre, precedute dall'oggetto dataset:
# Larghezza del sepalo della quinta osservazione
iris["5", "Sepal.Width"]
# Larghezza del sepalo e larghezza del petalo
iris[, c("Sepal.Width", "Petal.Width")]
È importante notare che sia i nomi delle righe che quelli delle colonne sono di tipo character, quindi usare gli apici singoli o doppi è assolutamente necessario!
Creare sottoinsiemi di righe e colonne per valore
Creare sottoinsiemi per valore offre spesso la massima flessibilità. Per esempio, puoi estrarre i dati su Iris setosa usando un'istruzione condizionale come questa:
> iris[iris$Species == "setosa", ]
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
...
47 5.1 3.8 1.6 0.2 setosa
48 4.6 3.2 1.4 0.2 setosa
49 5.3 3.7 1.5 0.2 setosa
50 5.0 3.3 1.4 0.2 setosa
I condizionali come iris$Species == "setosa" vanno nell'elemento delle righe tra parentesi quadre (cioè il primo elemento prima della virgola). Oltre all'istruzione condizionale nel primo elemento, puoi specificare le colonne per indice o per nome nel secondo elemento. Nella console qui sotto, prova a selezionare solo le misure dei sepali di Iris setosa:
# Stampa le misure dei sepali per setosa
Riepilogo
In questo tutorial hai:
- Imparato a creare sottoinsiemi del data frame per indice. Righe e colonne sono indicizzate come interi da 1 al numero di righe e di colonne, rispettivamente.
- Imparato a creare sottoinsiemi del data frame per nome. Hai visto che i nomi delle righe sono raramente specificati e che i nomi delle colonne sono di tipo character.
- Imparato a usare istruzioni condizionali nell'elemento delle righe tra parentesi quadre per creare sottoinsiemi del data frame per valore.
- Imparato a combinare questi metodi per consentire un subsetting più flessibile (ad esempio, usando condizionali per le righe e creando sottoinsiemi per indice o per nome per le colonne).
Qui sotto trovi alcuni esercizi per consolidare quanto hai imparato. La pratica rende perfetti: prova a svolgerli!
Esercizi di pratica
Seleziona tutte le osservazioni per cui la larghezza del sepalo è maggiore della lunghezza del petalo.
# Quali osservazioni hanno la larghezza del sepalo maggiore della lunghezza del petalo?
Seleziona tutte le Iris versicolor la cui larghezza del sepalo è maggiore della larghezza media del sepalo tra tutte le specie.
# Salva i dati di versicolor in un oggetto chiamato versicolor
# Seleziona tutte le Iris versicolor con larghezza del sepalo superiore alla media
Riporta la larghezza media del sepalo per tutte le Iris virginica che hanno lunghezze dei petali inferiori a 5 centimetri.
# Sei libero di affrontare questo problema come preferisci!
Vuoi saperne di più su altri modi per estrarre insight dai tuoi dati? Dai un'occhiata a questi corsi su DataCamp!
Dai un'occhiata anche al nostro tutorial Unire dataset in R.


Che tu stia confrontando come diversi gruppi demografici rispondono alle campagne di marketing, concentrandoti su un intervallo temporale specifico o estraendo informazioni su pochi prodotti selezionati dall'inventario, creare sottoinsiemi ti permette di ottenere osservazioni utili dal tuo dataset. R è un ottimo strumento che rende il subsetting dei dati facile e intuitivo. Alla fine di questo tutorial saprai estrarre dal dataset esattamente le informazioni che ti interessano.
Creare un sottoinsieme non modifica il contenuto dei dati, ma seleziona semplicemente la porzione più rilevante per l'obiettivo che hai in mente. In generale, ci sono tre modi per creare sottoinsiemi di righe e colonne di un dataset—per indice, per nome e per valore.
Creare sottoinsiemi di righe e colonne per indice
Un modo per creare sottoinsiemi di righe e colonne è usare gli indici del dataset. È come descrivere le righe e le colonne come "la prima riga", "tutte le righe nelle colonne seconda e quinta" o "la prima riga nelle colonne dalla seconda alla quinta". Specifichiamo queste frasi usando un dataset chiamato
irisin R. Dalla sua documentazione, "[q]uesto famoso dataset dell'iris (di Fisher o Anderson) fornisce le misure in centimetri delle variabili lunghezza e larghezza del sepalo e lunghezza e larghezza del petalo, rispettivamente, per 50 fiori di ciascuna delle 3 specie di iris. Le specie sono Iris setosa, versicolor e virginica."Per creare un sottoinsieme dei dati si usano le parentesi quadre dopo l'oggetto dataset. Le righe del dataset si specificano come primo elemento dentro le parentesi quadre e le colonne come secondo elemento, separati da una virgola:
Creare sottoinsiemi di righe e colonne per nome
In R, le righe e le colonne del dataset hanno attributi di nome. I nomi delle righe sono usati raramente e per impostazione predefinita forniscono indici—interi numerati da 1 al numero di righe del dataset—proprio come hai visto nella sezione precedente. Infatti, se chiamassi
rownames()sul datasetiris, vedresti che sono indicizzate semplicemente da 1 a 150:I nomi delle righe sono più comuni in dataset piccoli e servono a rendere facilmente identificabili le osservazioni. Per esempio, per un piccolo dataset con le informazioni sanitarie dei pazienti di un medico, i nomi delle righe potrebbero essere i nomi completi dei pazienti.
I nomi delle colonne, invece, sono presenti in quasi tutti i dataset. Puoi accedervi con la funzione
colnames()o con la funzionenames():Per creare sottoinsiemi del dataset usando i nomi di righe e colonne, usa semplicemente di nuovo le parentesi quadre, precedute dall'oggetto dataset:
È importante notare che sia i nomi delle righe che quelli delle colonne sono di tipo character, quindi usare gli apici singoli o doppi è assolutamente necessario!
Creare sottoinsiemi di righe e colonne per valore
Creare sottoinsiemi per valore offre spesso la massima flessibilità. Per esempio, puoi estrarre i dati su Iris setosa usando un'istruzione condizionale come questa:
I condizionali come
iris$Species == "setosa"vanno nell'elemento delle righe tra parentesi quadre (cioè il primo elemento prima della virgola). Oltre all'istruzione condizionale nel primo elemento, puoi specificare le colonne per indice o per nome nel secondo elemento. Nella console qui sotto, prova a selezionare solo le misure dei sepali di Iris setosa:Riepilogo
In questo tutorial hai:
Qui sotto trovi alcuni esercizi per consolidare quanto hai imparato. La pratica rende perfetti: prova a svolgerli!
Esercizi di pratica
Seleziona tutte le osservazioni per cui la larghezza del sepalo è maggiore della lunghezza del petalo.
Seleziona tutte le Iris versicolor la cui larghezza del sepalo è maggiore della larghezza media del sepalo tra tutte le specie.
Riporta la larghezza media del sepalo per tutte le Iris virginica che hanno lunghezze dei petali inferiori a 5 centimetri.
Vuoi saperne di più su altri modi per estrarre insight dai tuoi dati? Dai un'occhiata a questi corsi su DataCamp!
Dai un'occhiata anche al nostro tutorial Unire dataset in R.