Úvod do faktorov v R

V R môžeme spracovať rôzne typy premenných. Faktor môžeme predpokladať aj ako typ premennej, ktorá berie len obmedzený počet priradených hodnôt; táto premenná sa tiež označuje ako kategorická premenná.

Výhody faktora

  • Je možné uložiť celé čísla aj reťazce

1. V prípade celých čísel

data = c(5, 6, 6, 6, 7, 5, 7, 6, 7, 5, 6, 7)
factor_data = factor(data)
factor_data

Výkon

2. V prípade reťazcov

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"))
y

Výkon

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Výkon

  • Veľmi užitočné, ak stĺpce majú obmedzený počet jedinečných hodnôt
názovSpôsob cestovania
Johnnákladné auto
shawAuto
závetriecyklus
MesaãnáBicykel
Lozynákladné auto
RiyaAuto
Mijcyklus

V stĺpci 2 máme obmedzený počet jedinečných hodnôt.

  • Pomáha opraviť reťazce preklepmi (Typing Error).

Ako vytvoriť faktor v R?

Faktory môžeme vytvárať pomocou kódových faktorov ().

Preskúmajte viac o faktore ().

factor(x = character(), levels, labels = levels, ordered = is.ordered(x))

Kde,

X je skupina kategorických údajov. Ako sme už diskutovali, mal by to byť reťazec alebo celé čísla.

Úrovne sú množiny hodnôt, ktoré môže prijať X. Úrovne obsahujú všetky jedinečné hodnoty dostupné v stĺpci (x).

Označenia ako názov naznačujú označenie údajov dostupných na X.

Objednané určuje, či by úrovne mali byť usporiadané v akomkoľvek konkrétnom poradí.

Príklad č. 1

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike"))
y

Výkon:

Príklad č. 2

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Výkon:

V príklade 2 vidíme, že môžeme definovať aj „úrovne“.

Teraz sa pozrime viac o faktoroch pomocou Str (y).

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Výkon:

str(y)

Výkon:

Je zrejmé, že faktory sa ukladajú ako celé vektory a úrovne sa ukladajú ako znakový vektor a jednotlivé prvky sa skutočne ukladajú ako indexy.

  • Teraz uvidíme, ako pristupovať ku komponentom faktora

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Výkon:

y(2) # helps to access 2nd element

Výkon:

x(c(3, 4)) # helps to access 3rd and 4th element

Výkon

x(-1) # access all except 1st element

Výkon:

  • Teraz uvidíme, ako upraviť faktor.

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Výkon:

y(3) = "Truck" #modifty third element
y

Výkon

Pridanie faktora:

y(10) = "Car"
y

Výkon:

Upozorňujeme, že nemôžeme priradiť nič k faktoru, ktorý nie je súčasťou úrovní.

y(4) = "Plane"Warning message:In `(<-.factor`(`*tmp*`, 4, value = "Plane") : invalid factor level, NA generated

Výkon:

V tomto príklade vidíme, že „lietadlo“ nie je súčasťou našej úrovne, a preto sme dostali varovnú správu, ktorá hovorí, že „lietadlo“ je neplatná úroveň faktora.

Konvertovať údaje na faktor

Dáta sú k dispozícii vo veľkom množstve a je ťažké zakaždým napísať v kóde úplné slovo. Preto na tento účel najprv prevedieme údaje do faktora a potom prevádzame faktor do charakteru alebo čísla podľa našich výhod.

Poďme teraz pracovať na niektorých skutočných údajoch. Ak máme 50 pozorovaní, uchádzači poskytujú pracovné smerovanie. Rovnako ako John cestuje smerom na sever pre svoje pracovné povinnosti alebo Sam cestuje smerom na juh pre svoje pracovné povinnosti.

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

Výkon:

Úrovne: Východný, Severozápadný

Ak teraz chceme previesť faktor na znakový vektor:

Použijeme kód as.character ().

as.character(direction.factor)

Výkon:

Alebo chceme premeniť faktor na číselný vektor:

Použijeme ako numerický () kód.

as.numeric(direction.factor)

Výkon:

Odporúčané články

Toto je sprievodca faktormi v R. Tu diskutujeme úvod, výhody faktora, ako vytvoriť faktor v R spolu s výstupmi. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Spark SQL Dataframe
  2. R Typy údajov
  3. Viacrozmerná databáza
  4. Dátový kanál AWS

Kategórie: