Uvod u faktore u R
U R možemo obraditi različite vrste varijabli. Faktor također možemo pretpostaviti kao vrstu varijable koja uzima samo ograničen broj dodijeljene vrijednosti; takva se varijabla također naziva kategorična varijabla.
Prednosti faktora
- Može pohraniti i cijele brojeve i nizove
1. U slučaju cijelih brojeva
data = c(5, 6, 6, 6, 7, 5, 7, 6, 7, 5, 6, 7)
factor_data = factor(data)
factor_data
Izlaz
2. U slučaju žice
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"))
y
Izlaz
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y
Izlaz
- Vrlo korisno kada stupci imaju ograničen broj jedinstvenih vrijednosti
Ime | Način putovanja |
Ivan | Kamion |
Shaw | Automobil |
zavjetrina | Ciklus |
Musan | Bicikl |
Lozy | Kamion |
Riya | Automobil |
Mij | Ciklus |
Ovdje imamo ograničeni broj jedinstvenih vrijednosti u stupcu 2.
- Pomaže ispraviti žice pomoću pogrešaka pri upisu (greške pri tipkanju).
Kako stvoriti faktor u R?
Faktore možemo stvoriti pomoću faktora koda ().
Istražite više o faktoru ().
factor(x = character(), levels, labels = levels, ordered = is.ordered(x))
Gdje,
X je skup kategorijskih podataka. Kao što smo već raspravljali, to bi trebao biti niz ili cijeli brojevi.
Razine su postavljene vrijednosti koje mogu uzeti X. Razine sadrže svu jedinstvenu vrijednost dostupnu u stupcu (x).
Oznake kao naziv sugeriraju označavanje podataka dostupnih na X.
Naručeni određuje treba li razine odrediti bilo kojim određenim redoslijedom.
Primjer 1
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike"))
y
Izlaz:
Primjer 2
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y
Izlaz:
U primjeru 2 vidimo da možemo definirati i "Razine".
Sada ćemo vidjeti više o faktorima koristeći Str (y).
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y
Izlaz:
str(y)
Izlaz:
Jasno se vidi da su faktori pohranjeni kao cjelobrojni vektori, a razine su pohranjene kao vektor znakova, a pojedini elementi su zapravo pohranjeni kao indeksi.
- Sada ćemo vidjeti kako pristupiti komponentama faktora
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y
Izlaz:
y(2) # helps to access 2nd element
Izlaz:
x(c(3, 4)) # helps to access 3rd and 4th element
Izlaz
x(-1) # access all except 1st element
Izlaz:
- Sada ćemo vidjeti kako promijeniti faktor.
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y
Izlaz:
y(3) = "Truck" #modifty third element
y
Izlaz
Dodavanje faktora:
y(10) = "Car"
y
Izlaz:
Napominjemo da ne možemo dodijeliti ništa faktoru koji nije dio nivoa.
y(4) = "Plane"Warning message:In `(<-.factor`(`*tmp*`, 4, value = "Plane") : invalid factor level, NA generated
Izlaz:
U ovom primjeru možemo vidjeti da „Ravnina“ nije dio naše razine, stoga smo dobili poruku upozorenja koja kaže da je „Avion“ nevažeća razina faktora.
Pretvorite podatke u faktor
Podaci su dostupni u velikom broju, a svaki je put teško upisati cjelovitu riječ u kod, tako da za ovo prvo ćemo podatke pretvoriti u faktor, a zatim pretvoriti faktor u lik ili broj prema našim pogodnostima.
Radimo sada na nekim stvarnim podacima. Gdje imamo 50 promatranja i podnositelji zahtjeva daju svoj smjer rada. Kao što John putuje prema sjeveru zbog svojih radnih zadataka ili Sam putuje prema Jugu, za svoje radne dužnosti.
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
Izlaz:
Razine: Istok Sjever Jug Zapad
Sada ako želimo pretvoriti faktor u karakterni vektor:
Koristit ćemo as.character () kod.
as.character(direction.factor)
Izlaz:
Ili želimo faktor pretvoriti u numerički vektor:
Koristit ćemo as.numeric () kod.
as.numeric(direction.factor)
Izlaz:
Preporučeni članci
Ovo je vodič za faktore u R. Ovdje razgovaramo o uvodu, Prednosti faktora, Kako stvoriti faktor u R zajedno s izlazima. Možete i proći kroz naše druge predložene članke da biste saznali više -
- Spark SQL Dataframe
- R Vrste podataka
- Višedimenzionalna baza podataka
- AWS cjevovod podataka