num_vect = c(1,2,3,4)
# è possibile anche utilizzare la funzione seq()
num_vect_seq = seq(from = 1,to = 4, by = 1)
num_vect[1] 1 2 3 4
[1] 1 2 3 4
vettori
fattori
liste
matrici
array
dataframe
I vettori sono una struttura dati unidimensionale e sono la più semplice presente in R.
la lunghezza: il numero di elementi da cui è formato il vettore
la tipologia: la tipologia di dati da cui è formato il vettore. Un vettore infatti deve esssere formato da elementi tutti dello stesso tipo!
un valore: il valore dell’elemento che può essere di qualsiasi tipo ad esempio un numero o una serie di caratteri
un indice di posizione: un numero intero positivo che identifica la sua posizione all’interno del vettore.
I vettori si possono creare attraverso il comando c(), indicando tra le parentesi i valori degli elementi nella sucessione desiderata e separati da una virgola.
La tipologia di dati da cui è formato il vettore.
Un vettore deve esssere formato da elementi tutti dello stesso tipo!
Altrimenti si “rischia” che tutto venga trasformato a carattere.
Possiamo testare o convertire (quando possibile) la tipologia del vettore attraverso queste funzioni is. & as.
Vettore di tipo numeric
Vettore di tipo logical
[1] 1 0 1
Ogni elemento del vettore può essere associato ad un nome.
Ogni vettore è caraterizzato da una dimensione (dim()), in realtà essendo il vettore unidimensionale usiamo il comando length() per ottenere la lunghezza del vettore
Possiamo selezionare, eliminare, estrarre elementi semplicemente usando l’indice di posizione tramite le parentesi quadre vettore[pos] .
Allo stesso modo possiamo decidere di estrarre tutti gli elementi del vettore eccetto alcuni
Se assegnamo nomi agli elementi del vettore, possiamo indicizzare questi “chiamandoli per nome” (meno comune)
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"
Possiamo selezionare elementi dal vettore basandoci su specifiche condizioni logiche: TRUE e FALSE. L’idea è che se abbiamo un vettore di lunghezza n e un’altro vettore logico di lunghezza n, tutti gli elementi TRUE saranno selezionati:
[1] 3 4
Non vale solo per elementi del vettore numeri ma per qualsiasi vettore!
[1] "c" "d"
Attraverso la funzione which() possiamo ottenere la posizione associata ad una selezione logica:
Esempio:
# creo un vettore di 10 numeri interi casuali tra 1 e 40
my_vect = round(runif(10, min = 1, max = 40))
my_vect [1] 1 30 30 26 35 7 37 23 36 31
Cosa cambia tra questi 2 comandi?
Indicizzare può essere utile anche per assegnare un valore ad un determinato elemento del vettore:
Sostituisco il valore NA con la lettera mancante
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
Possiamo eseguire operazioni sui vettori, ed applicare la stessa operazione a tutti gli elementi del vettore (element-wise)
Le operazioni più comuni sono per esempio la media mean(), la deviazione standard sd(), la mediana median(), il valore massimo max() e minimo min() .
Si può anche utilizzare la funzione describe del pacchetto psych:
A volte (molto spesso) può capitare di avere dati mancanti
Un’altra operazione comune che viene svolta sui vettori (e sulle altre strutture dati), è il conteggio delle frequeze
[1] "R" "R" "R" "ok"
char_vect
ok R
1 3
[1] "r" "R" "R" "ok"
char_vect
ok r R
1 1 2
Aprite e tenete aperto questo link:
https://etherpad.wikimedia.org/p/arca-corsoR