Introduktion til faktorer i R

I R kan vi behandle forskellige typer variabler. Vi kan også antage faktor som en type variabel, der kun tager et begrænset antal tildelt værdi; sådan variabel også kaldet en kategorisk variabel.

Fordele ved en faktor

  • Det kan gemme både heltal og strenge

1. I tilfælde af heltal

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

Produktion

2. I tilfælde af strenge

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

Produktion

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

Produktion

  • Meget nyttig, når kolonnerne har et begrænset antal unikke værdier
NavnRejsemåde
Johnlastbil
ShawBil
LeeCyklus
MusanBike
Lozylastbil
RiyaBil
mijCyklus

Her har vi et begrænset antal unikke værdier i kolonne 2.

  • Det hjælper med at rette op strengene med skrivefejl (Indtastningsfejl).

Sådan opretter du en faktor i R?

Vi kan oprette faktorer ved hjælp af kodefaktorer ().

Udforsk mere om faktor ().

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

Hvor,

X er et sæt kategoriske data. Som vi allerede diskuterede, skulle det være en streng eller heltal.

Niveauer er et sæt værdi, som kan tages af X. Niveauer indeholder al den unikke værdi, der er tilgængelig i kolonnen (x).

Etiketter som navnet antyder mærkning af de tilgængelige data på X.

Bestilt bestemmer, om niveauerne skal bestilles i en bestemt rækkefølge.

Eksempel 1

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

Produktion:

Eksempel 2

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

Produktion:

I eksempel 2 kan vi se, at vi også kan definere “niveauer”.

Lad os nu se mere om faktorer ved hjælp af Str (y).

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

Produktion:

str(y)

Produktion:

Det ses tydeligt, at faktorer gemmes som heltalvektorer og niveauer gemmes som en tegnvektor, og de individuelle elementer faktisk lagres som indekser.

  • Nu vil vi se, hvordan man får adgang til komponenter af en faktor

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

Produktion:

y(2) # helps to access 2nd element

Produktion:

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

Produktion

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

Produktion:

  • Nu vil vi se, hvordan man ændrer en faktor.

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

Produktion:

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

Produktion

Tilføjelse til en faktor:

y(10) = "Car"
y

Produktion:

Bemærk, at vi ikke kan tildele noget i en faktor, der ikke er en del af niveauerne.

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

Produktion:

I dette eksempel kan vi se, at “Plane” ikke er en del af vores niveau, hvorfor vi fik en advarselsmeddelelse, der siger “Plane” er et ugyldigt faktorniveau.

Konverter data til en faktor

Data er tilgængelige i masser, og det er hårdt hver gang at skrive et komplet ord i koden, så til dette konverterer vi dataene til en faktor først, så konverterer du faktoren til en karakter eller et nummer pr. Vores bekvemmelighed.

Lad os nu arbejde på nogle rigtige data. Hvor vi har 50 observationer, og ansøgere giver deres arbejdsretning. Ligesom John rejser mod nord for sine jobopgaver eller Sam rejser mod syd retning for sine arbejdsopgaver.

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

Produktion:

Niveauer: East North South West

Hvis vi nu vil konvertere faktoren til en tegnvektor:

Vi bruger as.character () -kode.

as.character(direction.factor)

Produktion:

Eller vi vil konvertere faktoren til en numerisk vektor:

Vi bruger as.numeric () kode.

as.numeric(direction.factor)

Produktion:

Anbefalede artikler

Dette er en guide til faktorer i R. Her diskuterer vi introduktionen, Fordele ved en faktor, Hvordan man opretter en faktor i R sammen med output. Du kan også gennemgå vores andre foreslåede artikler for at lære mere–

  1. Spark SQL Dataframe
  2. R Datatyper
  3. Multidimensionel database
  4. AWS-datapipeline

Kategori: