Uvod v dejavnike v R

V R lahko obdelamo različne vrste spremenljivk. Faktor lahko predpostavimo tudi kot vrsto spremenljivke, ki ima le omejeno število dodeljene vrednosti; takšno spremenljivko imenujemo tudi kategorična spremenljivka.

Prednosti dejavnika

  • Lahko shrani tako cela števila kot niza

1. V primeru celih števil

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

Izhod

2. V primeru strun

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

Izhod

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

Izhod

  • Zelo uporabno, kadar imajo stolpci omejeno število edinstvenih vrednosti
ImeNačin potovanja
JohnTovornjak
ShawAvto
LeeCikel
MusanKolo
LozyTovornjak
RiyaAvto
MijCikel

Tu imamo omejeno število edinstvenih vrednosti v stolpcu 2.

  • Pomaga odpraviti strune s tipkami (napake pri tipkanju).

Kako ustvariti faktor v R?

Faktorje lahko ustvarimo z uporabo faktorjev kode ().

Raziščite več o dejavniku ().

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

Kje,

X je niz kategoričnih podatkov. Kot smo že razpravljali, naj bo to niz ali cela števila.

Ravni so določene vrednosti, ki jih lahko vzame X. Nivo vsebuje vso edinstveno vrednost, ki je na voljo v stolpcu (x).

Oznake kot ime predlagajo označevanje podatkov, ki so na voljo v X.

Urejeno določa, ali naj se ravni določijo v določenem zaporedju.

Primer 1

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

Izhod:

Primer # 2

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

Izhod:

V primeru 2 lahko vidimo, da lahko definiramo tudi "Nivo".

Zdaj pa poglejmo več o dejavnikih z uporabo Str (y).

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

Izhod:

str(y)

Izhod:

Jasno je razvidno, da so dejavniki shranjeni kot celi vektorji, ravni pa so shranjeni kot vektorski znaki, posamezni elementi pa so dejansko shranjeni kot indeksi.

  • Zdaj bomo videli, kako dostopati do komponent dejavnika

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

Izhod:

y(2) # helps to access 2nd element

Izhod:

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

Izhod

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

Izhod:

  • Zdaj bomo videli, kako spremeniti dejavnik.

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

Izhod:

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

Izhod

Dodajanje dejavniku:

y(10) = "Car"
y

Izhod:

Upoštevajte, da faktorju, ki ni del ravni, ne moremo dodeliti ničesar.

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

Izhod:

V tem primeru lahko vidimo, da "Ravna" ni del naše ravni, zato smo dobili opozorilno sporočilo, ki pravi, da je "Ravna" neveljavna faktorska raven.

Pretvarjanje podatkov v faktor

Podatki so na voljo v številnih številkah in vsakič je težko, če v kodo zapišemo popolno besedo, zato bomo za to najprej pretvorili podatke v faktor, nato pa faktor pretvorili v znak ali številko v skladu z našo ugodnostjo.

Poglejmo zdaj nekaj resničnih podatkov. Kjer imamo 50 opazovanj in vlagatelji navajajo svojo delovno smer. Tako kot John potuje proti severu zaradi svojih delovnih nalog, ali Sam potuje proti jugu za svoje delovne naloge.

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

Izhod:

Ravni: vzhodni sever, jugozahod

Zdaj, če želimo faktor pretvoriti v znakovni vektor:

Uporabili bomo kodo as.character ().

as.character(direction.factor)

Izhod:

Ali pa želimo faktor pretvoriti v numerični vektor:

Uporabili bomo kodo as.numeric ().

as.numeric(direction.factor)

Izhod:

Priporočeni članki

To je vodnik za dejavnike v R. Tukaj razpravljamo o uvodu, prednostih dejavnika, kako ustvariti faktor v R skupaj z rezultati. Obiščite lahko tudi druge naše predlagane članke, če želite izvedeti več -

  1. Spark Dataframe SQL
  2. R podatkovne vrste
  3. Večdimenzionalna baza podatkov
  4. AWS Data Pipeline

Kategorija: