Introducere în factori în R
În R, putem procesa diferite tipuri de variabile. Putem, de asemenea, să presupunem un factor ca un tip de variabilă care ia doar un număr limitat de valoare atribuită; o astfel de variabilă este denumită și o variabilă categorică.
Avantajele unui factor
- Poate stoca atât numere întregi, cât și șiruri
1. În cazul numerelor întregi
data = c(5, 6, 6, 6, 7, 5, 7, 6, 7, 5, 6, 7)
factor_data = factor(data)
factor_data
producție
2. În cazul șirurilor
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"))
y
producție
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y
producție
- Foarte util când coloanele au un număr limitat de valori unice
Nume | Mod de călătorie |
Ioan | Camion |
Shaw | Mașină |
sub vânt | Ciclu |
Musan | bicicletă |
Lozy | Camion |
Riya | Mașină |
Mij | Ciclu |
Aici avem un număr limitat de valori unice în coloana 2.
- Vă ajută la rectificarea șirurilor de caractere (dactilografiere).
Cum se creează un factor în R?
Putem crea factori folosind factori de cod ().
Explorați mai multe despre factor ().
factor(x = character(), levels, labels = levels, ordered = is.ordered(x))
Unde,
X este un set de date categorice. După cum am discutat deja, ar trebui să fie un șir sau numere întregi.
Nivelurile sunt set de valori care pot fi luate de X. Niveluri conține toată valoarea unică disponibilă în coloana (x).
Etichetele cu numele sugerează etichetarea datelor disponibile la X.
Comandat stabilește dacă nivelurile ar trebui să fie ordonate într-o anumită ordine.
Exemplul # 1
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike"))
y
ieşire:
Exemplul # 2
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y
ieşire:
În exemplul 2 putem vedea că putem defini și „Niveluri”.
Acum să vedem mai multe despre factori folosind Str (y).
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y
ieşire:
str(y)
ieşire:
Se vede clar că factorii sunt stocați ca vectori întregi, iar nivelurile sunt stocate ca vector de caractere, iar elementele individuale sunt de fapt stocate ca indici.
- Acum vom vedea cum să accesăm componente ale unui factor
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y
ieşire:
y(2) # helps to access 2nd element
ieşire:
x(c(3, 4)) # helps to access 3rd and 4th element
producție
x(-1) # access all except 1st element
ieşire:
- Acum vom vedea cum se poate modifica un factor.
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y
ieşire:
y(3) = "Truck" #modifty third element
y
producție
Adăugarea la un factor:
y(10) = "Car"
y
ieşire:
Rețineți că nu putem atribui nimic într-un factor care nu face parte din niveluri.
y(4) = "Plane"Warning message:In `(<-.factor`(`*tmp*`, 4, value = "Plane") : invalid factor level, NA generated
ieşire:
În acest exemplu putem vedea că „Avionul” nu este o parte a nivelului nostru, de aceea am primit un mesaj de avertizare care spune că „Avionul” este un nivel de factor invalid.
Convertiți datele într-un factor
Datele sunt disponibile în mai multe și este de fiecare dată greu să notăm un cuvânt complet în cod, astfel încât, pentru aceasta, vom transforma datele într-un factor mai întâi, apoi convertiți factorul într-un personaj sau număr după conveniența noastră.
Să lucrăm acum la câteva date reale. În cazul în care avem 50 de observații și candidații își oferă direcția de lucru. Ca John călătorește spre nord pentru sarcinile sale de serviciu sau Sam călătorește spre direcția de Sud pentru sarcinile sale de muncă.
direction <- c("West", "East", "North", "West", "South", "East", "South", "East", "South", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West")
direction.factor = factor(direction)
direction.factor
ieşire:
Niveluri: est nord nord vest
Acum, dacă vrem să convertim factorul într-un vector de caractere:
Vom folosi codul as.character ().
as.character(direction.factor)
ieşire:
Sau vrem să transformăm factorul într-un vector numeric:
Vom folosi codul.numeric ().
as.numeric(direction.factor)
ieşire:
Articole recomandate
Acesta este un ghid al factorilor din R. Aici vom discuta introducerea, Avantajele unui factor, Cum se creează un factor în R împreună cu rezultatele. Puteți parcurge și alte articole sugerate pentru a afla mai multe -
- Spark SQL Dataframe
- R Tipuri de date
- Baza de date multidimensională
- Conductă de date AWS