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
Ime | Način potovanja |
John | Tovornjak |
Shaw | Avto |
Lee | Cikel |
Musan | Kolo |
Lozy | Tovornjak |
Riya | Avto |
Mij | Cikel |
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č -
- Spark Dataframe SQL
- R podatkovne vrste
- Večdimenzionalna baza podatkov
- AWS Data Pipeline