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