R - Fattori
I fattori sono gli oggetti dati che vengono utilizzati per classificare i dati e archiviarli come livelli. Possono memorizzare sia stringhe che numeri interi. Sono utili nelle colonne che hanno un numero limitato di valori univoci. Come "Male," Female "e True, False ecc. Sono utili nell'analisi dei dati per la modellazione statistica.
I fattori vengono creati utilizzando il factor () prendendo un vettore come input.
Esempio
# Create a vector as input.
data <- c("East","West","East","North","North","East","West","West","West","East","North")
print(data)
print(is.factor(data))
# Apply the factor function.
factor_data <- factor(data)
print(factor_data)
print(is.factor(factor_data))
Quando eseguiamo il codice sopra, produce il seguente risultato:
[1] "East" "West" "East" "North" "North" "East" "West" "West" "West" "East" "North"
[1] FALSE
[1] East West East North North East West West West East North
Levels: East North West
[1] TRUE
Fattori nel frame di dati
Quando si crea un frame di dati con una colonna di dati di testo, R tratta la colonna di testo come dati categoriali e crea fattori su di essa.
# Create the vectors for data frame.
height <- c(132,151,162,139,166,147,122)
weight <- c(48,49,66,53,67,52,40)
gender <- c("male","male","female","female","male","female","male")
# Create the data frame.
input_data <- data.frame(height,weight,gender)
print(input_data)
# Test if the gender column is a factor.
print(is.factor(input_data$gender))
# Print the gender column so see the levels.
print(input_data$gender)
Quando eseguiamo il codice sopra, produce il seguente risultato:
height weight gender
1 132 48 male
2 151 49 male
3 162 66 female
4 139 53 female
5 166 67 male
6 147 52 female
7 122 40 male
[1] TRUE
[1] male male female female male female male
Levels: female male
Modifica dell'ordine dei livelli
L'ordine dei livelli in un fattore può essere modificato applicando nuovamente la funzione fattore con un nuovo ordine dei livelli.
data <- c("East","West","East","North","North","East","West",
"West","West","East","North")
# Create the factors
factor_data <- factor(data)
print(factor_data)
# Apply the factor function with required order of the level.
new_order_data <- factor(factor_data,levels = c("East","West","North"))
print(new_order_data)
Quando eseguiamo il codice sopra, produce il seguente risultato:
[1] East West East North North East West West West East North
Levels: East North West
[1] East West East North North East West West West East North
Levels: East West North
Generazione di livelli di fattore
Possiamo generare livelli di fattore utilizzando il gl()funzione. Richiede due numeri interi come input che indica quanti livelli e quante volte ogni livello.
Sintassi
gl(n, k, labels)
Di seguito la descrizione dei parametri utilizzati:
n è un numero intero che fornisce il numero di livelli.
k è un numero intero che fornisce il numero di repliche.
labels è un vettore di etichette per i livelli di fattore risultanti.
Esempio
v <- gl(3, 4, labels = c("Tampa", "Seattle","Boston"))
print(v)
Quando eseguiamo il codice sopra, produce il seguente risultato:
Tampa Tampa Tampa Tampa Seattle Seattle Seattle Seattle Boston
[10] Boston Boston Boston
Levels: Tampa Seattle Boston