Cos'è il fattore in R?
Il fattore in R è una variabile utilizzata per classificare e memorizzare i dati, con un numero limitato di valori diversi. Memorizza i dati come vettore di valori interi. Il fattore in R è anche noto come variabile categoriale che memorizza valori di dati sia stringa che interi come livelli. Il fattore è utilizzato principalmente nella modellazione statistica e nell'analisi esplorativa dei dati con R.
In un set di dati, possiamo distinguere due tipi di variabili: categoriale e continua .
- Nelle statistiche descrittive per le variabili categoriali in R, il valore è limitato e di solito si basa su un particolare gruppo finito. Ad esempio, una variabile categoriale in R può essere paesi, anno, sesso, occupazione.
- Una variabile continua, tuttavia, può assumere qualsiasi valore, da intero a decimale. Ad esempio, possiamo avere le entrate, il prezzo di una quota, ecc ...
Variabili categoriali
Le variabili categoriali in R sono memorizzate in un fattore. Controlliamo il codice seguente per convertire una variabile carattere in una variabile fattore in R. I caratteri non sono supportati nell'algoritmo di apprendimento automatico e l'unico modo è convertire una stringa in un numero intero.
Sintassi
factor(x = character(), levels, labels = levels, ordered = is.ordered(x))
Argomenti:
- x : un vettore di dati categoriali in R. Deve essere una stringa o un numero intero, non decimale.
- Livelli : un vettore di valori possibili presi da x. Questo argomento è facoltativo. Il valore predefinito è l'elenco univoco di elementi del vettore x.
- Etichette : aggiungi un'etichetta ai dati categoriali x in R. Ad esempio, 1 può prendere l'etichetta "maschio" mentre 0, l'etichetta "femmina".
- ordinato : determina se i livelli devono essere ordinati in dati categoriali in R.
Esempio:
Creiamo un frame di dati dei fattori.
# Create gender vectorgender_vector <- c("Male", "Female", "Female", "Male", "Male")class(gender_vector)# Convert gender_vector to a factorfactor_gender_vector <-factor(gender_vector)class(factor_gender_vector)
Produzione:
## [1] "character"## [1] "factor"
È importante trasformare una stringa in una variabile fattore in R quando eseguiamo un'attività di Machine Learning.
Una variabile categoriale in R può essere suddivisa in variabile categoriale nominale e variabile categoriale ordinale .
Variabile categoriale nominale
Una variabile categoriale ha diversi valori ma l'ordine non ha importanza. Ad esempio, maschio o femmina. Le variabili categoriali in R non hanno ordinamento.
# Create a color vectorcolor_vector <- c('blue', 'red', 'green', 'white', 'black', 'yellow')# Convert the vector to factorfactor_color <- factor(color_vector)factor_color
Produzione:
## [1] blue red green white black yellow## Levels: black blue green red white yellow
Da factor_color, non possiamo dire alcun ordine.
Variabile categoriale ordinale
Le variabili categoriali ordinali hanno un ordinamento naturale. Possiamo specificare l'ordine, dal più basso al più alto con order = TRUE e dal più alto al più basso con order = FALSE.
Esempio:
Possiamo usare il riepilogo per contare i valori per ogni variabile fattore in R.
# Create Ordinal categorical vectorday_vector <- c('evening', 'morning', 'afternoon', 'midday', 'midnight', 'evening')# Convert `day_vector` to a factor with ordered levelfactor_day <- factor(day_vector, order = TRUE, levels =c('morning', 'midday', 'afternoon', 'evening', 'midnight'))# Print the new variablefactor_day
Produzione:
## [1] evening morning afternoon middaymidnight evening
Esempio:
## Levels: morning < midday < afternoon < evening < midnight# Append the line to above code# Count the number of occurence of each levelsummary(factor_day)
Produzione:
## morning midday afternoon evening midnight## 1 1 1 2 1
R ha ordinato il livello da "mattina" a "mezzanotte" come specificato nella parentesi dei livelli.
Variabili continue
Le variabili di classe continue sono il valore predefinito in R. Sono memorizzate come numeriche o intere. Possiamo vederlo dal set di dati qui sotto. mtcars è un set di dati integrato. Raccoglie informazioni su diversi tipi di auto. Possiamo importarlo usando mtcars e controllare la classe della variabile mpg, mile per gallon. Restituisce un valore numerico, che indica una variabile continua.
dataset <- mtcarsclass(dataset$mpg)
Produzione
## [1] "numeric"