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
NumeMod de călătorie
IoanCamion
ShawMașină
sub vântCiclu
Musanbicicletă
LozyCamion
RiyaMașină
MijCiclu

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 -

  1. Spark SQL Dataframe
  2. R Tipuri de date
  3. Baza de date multidimensională
  4. Conductă de date AWS

Categorie: