Introduktion till faktorer i R

I R kan vi bearbeta olika typer av variabler. Vi kan också anta faktor som en typ av variabel som endast tar ett begränsat antal tilldelat värde; en sådan variabel kallas också en kategorisk variabel.

Fördelar med en faktor

  • Det kan lagra både heltal och strängar

1. För heltal

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

Produktion

2. När det gäller strängar

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

  • Mycket användbart när kolumnerna har ett begränsat antal unika värden
namnLäge för resa
JohnLastbil
ShawBil
Cykel
MusanCykel
LozyLastbil
RiyaBil
mijCykel

Här har vi ett begränsat antal unika värden i kolumn 2.

  • Det hjälper till att korrigera strängarna med skrivfel (typfel).

Hur skapar jag en faktor i R?

Vi kan skapa faktorer med hjälp av kodfaktorer ().

Utforska mer om faktor ().

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

Var,

X är en uppsättning kategoriska data. Som vi redan diskuterat bör det vara en sträng eller heltal.

Nivåer är värden som kan tas av X. Nivåer innehåller alla de unika värden som finns tillgängliga i kolumnen (x).

Etiketter som namnet antyder märkning av tillgängliga data på X.

Beställd bestämmer om nivåerna ska beställas i en viss ordning.

Exempel 1

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

Produktion:

Exempel 2

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

Produktion:

I exempel 2 kan vi se att vi också kan definiera ”Nivåer”.

Låt oss nu se mer om faktorer genom att använda 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 framgår tydligt att faktorer lagras som heltalvektorer och nivåer lagras som en teckenvektor, och de enskilda elementen lagras faktiskt som index.

  • Nu ska vi se hur man får tillgång till komponenter i 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 ska vi se hur man ändrar 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

Lägger till en faktor:

y(10) = "Car"
y

Produktion:

Observera att vi inte kan tilldela något i en faktor som inte är en del av nivåerna.

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

Produktion:

I det här exemplet kan vi se att "Plane" inte är en del av vår nivå, därför fick vi ett varningsmeddelande som säger "Plane" är en ogiltig faktornivå.

Konvertera data till en faktor

Data finns tillgängliga i överflöd, och det är tufft varje gång att skriva ner ett fullständigt ord i koden, så för detta kommer vi att konvertera data till en faktor först och sedan konvertera faktorn till ett karaktär eller nummer enligt vår bekvämlighet.

Låt oss nu arbeta med riktiga data. Där vi har 50 observationer och sökande ger deras arbetsriktning. Liksom John reser mot norr för sina jobbuppgifter eller Sam reser i riktning mot söder för sina arbetsuppgifter.

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:

Nivåer: East North South West

Om vi ​​nu vill konvertera faktorn till en teckenvektor:

Vi kommer att använda as.character () -koden.

as.character(direction.factor)

Produktion:

Eller så vill vi konvertera faktorn till en numerisk vektor:

Vi kommer att använda as.numeric () kod.

as.numeric(direction.factor)

Produktion:

Rekommenderade artiklar

Detta är en guide till faktorer i R. Här diskuterar vi introduktionen, fördelar med en faktor, hur man skapar en faktor i R tillsammans med utgångarna. Du kan också gå igenom våra andra artiklar som föreslås för att lära dig mer–

  1. Spark SQL Dataframe
  2. R Datatyper
  3. Flerdimensionell databas
  4. AWS Data Pipeline

Kategori: