Bevezetés a tényezőkbe R

R-ben különféle típusú változókat tudunk feldolgozni. Faktort feltételezhetünk olyan típusú változóként is, amely csak korlátozott számú hozzárendelt értéket vesz fel; az ilyen változót kategorikus változónak is nevezik.

A tényező előnyei

  • Tárolhat egész számot és karakterláncot is

1. Egész számok esetén

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

Kimenet

2. Húrok esetén

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

Kimenet

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

Kimenet

  • Nagyon hasznos, ha az oszlopok korlátozott számú egyedi értékkel rendelkeznek
NévAz utazás módja
JánosKamion
ShawAutó
LeeCiklus
MusanBicikli
lozyKamion
RiyaAutó
mijCiklus

Itt van korlátozott számú egyedi érték a 2. oszlopban.

  • Ez segíti a karakterláncok helyesbítését (gépelési hibák).

Hogyan lehet faktorot létrehozni az R-ben?

Kódfaktorok () használatával hozhatunk létre tényezőket.

Tudjon meg többet a () tényezőről.

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

Hol,

X kategorikus adatok halmaza. Mint már tárgyaltuk, húrnak vagy egész számnak kell lennie.

A szintek értékkészlet, amelyet az X vehet fel. A Szintek az (x) oszlopban elérhető összes egyedi értéket tartalmazzák.

A címkék neveként jelzik az X-nél elérhető adatok címkézését.

Rendezett határozza meg, hogy a szinteket adott sorrendben kell-e rendezni.

1. példa

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

Kimenet:

2. példa

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

Kimenet:

A 2. példában láthatjuk, hogy a „szinteket” is meghatározhatjuk.

Most nézzük meg többet a tényezőkről az Str (y) használatával.

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

Kimenet:

str(y)

Kimenet:

Világosan látszik, hogy a tényezőket egész vektorokként tárolják, a szinteket pedig karaktervektorként tárolják, az egyes elemeket pedig ténylegesen indexekként tárolják.

  • Most meglátjuk, hogyan lehet elérni egy tényező összetevőit

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

Kimenet:

y(2) # helps to access 2nd element

Kimenet:

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

Kimenet

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

Kimenet:

  • Most meglátjuk, hogyan lehet egy tényezőt módosítani.

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

Kimenet:

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

Kimenet

Tényező hozzáadása:

y(10) = "Car"
y

Kimenet:

Felhívjuk figyelmét, hogy nem adhatunk hozzá olyan tényezőt, amely nem tartozik a szintekhez.

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

Kimenet:

Ebben a példában láthatjuk, hogy a „Sík” nem része a szintünknek, ezért kapott egy figyelmeztető üzenetet, amely szerint a „Sík” érvénytelen tényező szint.

Konvertálja az adatokat tényezővé

Az adatok nagyszámban állnak rendelkezésre, és nehéz minden alkalommal egy teljes szót írni a kódban, ezért ehhez először konvertáljuk az adatokat tényezővé, majd konvertáljuk a tényezőt karakterré vagy számgá, kényelmünk szerint.

Most dolgozzunk néhány valódi adaton. Ahol 50 megfigyelés van, és a jelentkezők megadják munkájuk irányát. Például John utazik észak felé munkaköri feladataiért, vagy Sam utazik dél felé irányítva munkaköri feladataiért.

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

Kimenet:

Szintek: kelet észak délnyugat

Most, ha átalakítani akarjuk a tényezőt karaktervektormá:

Az as.character () kódot fogjuk használni.

as.character(direction.factor)

Kimenet:

Vagy át akarjuk alakítani a tényezőt numerikus vektormá:

Az as.numeric () kódot fogjuk használni.

as.numeric(direction.factor)

Kimenet:

Ajánlott cikkek

Ez egy útmutató az R. tényezőihez. Itt tárgyaljuk a tényező bevezetését, előnyeit, hogyan lehet egy tényezőt létrehozni az R-ben a kimenetekkel együtt. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Spark SQL Dataframe
  2. R adattípusok
  3. Többdimenziós adatbázis
  4. AWS Data Pipeline

Kategória: