Úvod do faktorů v R

V R můžeme zpracovat různé typy proměnných. Můžeme také předpokládat faktor jako typ proměnné, který bere pouze omezený počet přiřazené hodnoty; taková proměnná také označovaná jako kategorická proměnná.

Výhody Faktoru

  • Může ukládat celá čísla i řetězce

1. V případě celých čísel

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

Výstup

2. V případě řetězců

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

Výstup

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

Výstup

  • Velmi užitečné, když mají sloupce omezený počet jedinečných hodnot
názevZpůsob cestování
JohnKamion
ShawAuto
ZávětříCyklus
MusanKolo
LozyKamion
RiyaAuto
MijCyklus

Zde máme omezený počet jedinečných hodnot ve sloupci 2.

  • Pomáhá opravit řetězce pomocí překlepů (Typing Error).

Jak vytvořit faktor v R?

Faktory můžeme vytvořit pomocí kódových faktorů ().

Prozkoumejte více o faktoru ().

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

Kde,

X je skupina kategorických dat. Jak jsme již diskutovali, měl by to být řetězec nebo celá čísla.

Úrovně jsou množiny hodnot, které může být přijato X. Úrovně obsahují všechny jedinečné hodnoty dostupné ve sloupci (x).

Štítky jako název naznačují označení údajů dostupných na X.

Objednané určuje, zda by úrovně měly být uspořádány v jakémkoli konkrétním pořadí.

Příklad č. 1

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

Výstup:

Příklad č. 2

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

Výstup:

V příkladu 2 vidíme, že můžeme také definovat „úrovně“.

Nyní se podívejme na více faktorů pomocí Str (y).

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

Výstup:

str(y)

Výstup:

Je jasně vidět, že faktory jsou ukládány jako celé vektory a úrovně jsou ukládány jako znakový vektor a jednotlivé prvky jsou skutečně ukládány jako indexy.

  • Nyní uvidíme, jak přistupovat ke komponentám faktoru

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

Výstup:

y(2) # helps to access 2nd element

Výstup:

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

Výstup

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

Výstup:

  • Nyní uvidíme, jak upravit faktor.

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

Výstup:

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

Výstup

Přidání faktoru:

y(10) = "Car"
y

Výstup:

Vezměte prosím na vědomí, že nemůžeme přiřadit nic k faktoru, který není součástí úrovní.

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

Výstup:

V tomto příkladu vidíme, že „letadlo“ není součástí naší úrovně, a proto jsme dostali varovnou zprávu, která říká, že „letadlo“ je neplatná úroveň faktoru.

Převod dat na faktor

Data jsou k dispozici ve velkém množství a je těžké pokaždé, když si v kódu zapíšete kompletní slovo, takže za tímto účelem převedeme data do faktoru nejprve a poté převedeme faktor do charakteru nebo čísla podle našich výhod.

Pojďme nyní pracovat na některých reálných datech. Tam, kde máme 50 pozorování a žadatelé uvádějí svůj pracovní směr. Jako John cestuje na sever pro své pracovní povinnosti nebo Sam cestuje na jih pro své 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ýstup:

Úrovně: Východní severozápadní

Nyní, pokud chceme převést faktor na znakový vektor:

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

as.character(direction.factor)

Výstup:

Nebo chceme převést faktor na numerický vektor:

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

as.numeric(direction.factor)

Výstup:

Doporučené články

Toto je průvodce faktory v R. Zde diskutujeme úvod, výhody faktoru, jak vytvořit faktor v R spolu s výstupy. Další informace naleznete také v dalších navrhovaných článcích -

  1. Spark SQL Dataframe
  2. R Datové typy
  3. Vícerozměrná databáze
  4. Datový kanál AWS

Kategorie: