Fattori R
Fattori
I fattori vengono utilizzati per classificare i dati. Esempi di fattori sono:
- Demografia: maschio/femmina
- Musica: Rock, Pop, Classica, Jazz
- Allenamento: forza, resistenza
Per creare un fattore, usa la factor()
funzione e aggiungi un vettore come argomento:
Esempio
# Create a factor
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
# Print the factor
music_genre
Risultato:
[1] Jazz Rock Classic Classic Pop Jazz Rock Jazz Levels: Classic Jazz Pop Rock
Puoi vedere dall'esempio sopra che il fattore ha quattro livelli (categorie): Classic, Jazz, Pop e Rock.
Per stampare solo i livelli, utilizzare la levels()
funzione:
Esempio
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
levels(music_genre)
Risultato:
[1] "Classic" "Jazz" "Pop" "Rock"
Puoi anche impostare i livelli, aggiungendo l' levels
argomento all'interno della
factor()
funzione:
Esempio
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", "Other"))
levels(music_genre)
Risultato:
[1] "Classic" "Jazz" "Pop" "Rock" "Other"
Lunghezza del fattore
Usa la length()
funzione per scoprire quanti elementi ci sono nel fattore:
Esempio
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
length(music_genre)
Risultato:
[1] 8
Fattori di accesso
Per accedere alle voci di un fattore, fare riferimento al numero di indice, utilizzando le []
parentesi:
Esempio
Accedi al terzo elemento:
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
music_genre[3]
Risultato:
[1] Classic Levels: Classic Jazz Pop Rock
Modifica il valore dell'articolo
Per modificare il valore di un articolo specifico, fare riferimento al numero di indice:
Esempio
Modifica il valore del terzo elemento:
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
music_genre[3] <- "Pop"
music_genre[3]
Risultato:
[1] Pop Levels: Classic Jazz Pop Rock
Si noti che non è possibile modificare il valore di un articolo specifico se non è già specificato nel fattore. L'esempio seguente produrrà un errore:
Esempio
Cercando di modificare il valore del terzo articolo ("Classic") in un articolo che non esiste/non è predefinito ("Opera"):
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
music_genre[3] <- "Opera"
music_genre[3]
Risultato:
Warning message: In `[<-.factor`(`*tmp*`, 3, value = "Opera") : invalid factor level, NA generated
Tuttavia, se l'hai già specificato all'interno levels
dell'argomento, funzionerà:
Esempio
Modifica il valore del terzo elemento:
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock",
"Opera"))
music_genre[3] <- "Opera"
music_genre[3]
Risultato:
[1] Opera Levels: Classic Jazz Pop Rock Opera