Sissejuhatus teguritesse R

R-s saame töödelda erinevat tüüpi muutujaid. Samuti võime eeldada tegurit muutuja tüübina, millel on ainult piiratud arv määratud väärtusi; sellist muutujat nimetatakse ka kategooriliseks muutujaks.

Faktori eelised

  • See võib salvestada nii täisarvu kui ka stringe

1. Täisarvude korral

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

Väljund

2. keelpillide puhul

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

Väljund

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

Väljund

  • Väga kasulik, kui veergudel on piiratud arv kordumatuid väärtusi
NimiReisi režiim
JohnVeoauto
ShawAuto
LeeTsükkel
MusanJalgratas
LozyVeoauto
RiyaAuto
MijTsükkel

Siin on 2. veerus piiratud arv kordumatuid väärtusi.

  • See aitab stringe parandada kirjavigu (Typing Errors) abil.

Kuidas luua faktor R?

Tegureid saab luua kooditegurite () abil.

Uurige lähemalt teguri () kohta.

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

Kus,

X on kategooriliste andmete kogum. Nagu me juba arutasime, peaks see olema string või täisarv.

Tasemed on väärtuste kogumid, mida X võib võtta. Tasemed sisaldavad kõiki veerus (x) saadaolevaid unikaalseid väärtusi.

Nimesildid viitavad X-is saadaolevate andmete märgistamisele.

Tellitud määrab, kas taset tuleks tellida mingis kindlas järjekorras.

Näide nr 1

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

Väljund:

Näide 2

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

Väljund:

Näites 2 näeme, et suudame määratleda ka taseme.

Vaatame tegurite kohta lähemalt, kasutades Str (y).

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

Väljund:

str(y)

Väljund:

On selgelt näha, et tegurid salvestatakse täisarvvektoritena ja tasemed märgivektorina ning üksikud elemendid salvestatakse tegelikult indeksitena.

  • Nüüd näeme, kuidas pääseda juurde teguri komponentidele

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

Väljund:

y(2) # helps to access 2nd element

Väljund:

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

Väljund

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

Väljund:

  • Nüüd näeme, kuidas tegurit muuta.

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

Väljund:

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

Väljund

Teguri lisamine:

y(10) = "Car"
y

Väljund:

Pange tähele, et me ei saa midagi määrata tegurile, mis ei kuulu tasemetele.

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

Väljund:

Selles näites näeme, et lennuk ei kuulu meie taseme alla, seetõttu saime hoiatussõnumi, mille kohaselt on lennuk tasapinnal kehtetu.

Teisendage andmed teguriks

Andmeid on palju ja iga kord on raske kogu sõna koodis kirja panna, nii et selle jaoks teisendame andmed kõigepealt teguriks, seejärel teisendame teguri tähemärgiks või numbriks vastavalt oma mugavusele.

Töötame nüüd reaalsete andmete kallal. Kui meil on 50 vaatlust ja taotlejad esitavad oma töö suuna. Nagu John reisib töökohustuste täitmiseks põhja poole või Sam sõidab töökohustuste täitmiseks lõuna suunas.

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äljund:

Tasemed: ida-põhja-edelaosa

Kui tahame teguri teisendada tähemärgivektoriks:

Kasutame koodi as.character ().

as.character(direction.factor)

Väljund:

Või tahame selle teguri teisendada arvvektoriks:

Me kasutame koodi.numeric ().

as.numeric(direction.factor)

Väljund:

Soovitatavad artiklid

See on juhend faktoritele R. Siin käsitleme sissejuhatust, teguri eeliseid, kuidas luua koos väljunditega tegurit R-s. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Spark SQL Dataframe
  2. R andmetüübid
  3. Mitmemõõtmeline andmebaas
  4. AWS Data Pipeline

Kategooria: