Ú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ázov | Spôsob cestovania |
John | nákladné auto |
shaw | Auto |
závetrie | cyklus |
Mesaãná | Bicykel |
Lozy | nákladné auto |
Riya | Auto |
Mij | cyklus |
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 -
- Spark SQL Dataframe
- R Typy údajov
- Viacrozmerná databáza
- Dátový kanál AWS