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
ImeNačin putovanja
IvanKamion
ShawAutomobil
zavjetrinaCiklus
MusanBicikl
LozyKamion
RiyaAutomobil
MijCiklus

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 -

  1. Spark SQL Dataframe
  2. R Vrste podataka
  3. Višedimenzionalna baza podataka
  4. AWS cjevovod podataka

Kategorija: