Faktor i R: Kategoriske variable og kontinuerlige variabler

Hva er faktor i R?

Faktor i R er en variabel som brukes til å kategorisere og lagre dataene, med et begrenset antall forskjellige verdier. Den lagrer dataene som en vektor av heltallsverdier. Faktor i R er også kjent som en kategorisk variabel som lagrer både streng- og heltallsdataverdier som nivåer. Faktor brukes mest i statistisk modellering og utforskende dataanalyse med R.

I et datasett kan vi skille mellom to typer variabler: kategorisk og kontinuerlig.

  • I beskrivende statistikk for kategoriske variabler i R er verdien begrenset og vanligvis basert på en bestemt begrenset gruppe. For eksempel kan en kategorisk variabel i R være land, år, kjønn, yrke.
  • En kontinuerlig variabel kan imidlertid ta alle verdier, fra heltall til desimal. For eksempel kan vi ha inntektene, prisen på en aksje osv.

Kategoriske variabler

Kategoriske variabler i R er lagret i en faktor. La oss sjekke koden nedenfor for å konvertere en tegnvariabel til en faktorvariabel i R. Tegn støttes ikke i maskinlæringsalgoritmer, og den eneste måten er å konvertere en streng til et heltall.

syntax

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

argumenter:

  • x: En vektor av kategoriske data i R. Må være en streng eller heltall, ikke desimal.
  • Nivåer: En vektor med mulige verdier tatt av x. Dette argumentet er valgfritt. Standardverdien er den unike listen over elementer i vektoren x.
  • etiketter: Legg til en etikett til x-kategoridataene i R. For eksempel kan 1 ta etiketten «mann» mens 0, etiketten «female».
  • bestilt: Bestem om nivåene skal sorteres i kategoriske data i R.

Eksempel:

La oss lage en faktordataramme.

# Create gender vector
gender_vector <- c("Male", "Female", "Female", "Male", "Male")
class(gender_vector)
# Convert gender_vector to a factor
factor_gender_vector <-factor(gender_vector)
class(factor_gender_vector)

Utgang:

## [1] "character"
## [1] "factor"

Det er viktig å transformere en string inn i faktorvariabel i R når vi utfører maskinlæringsoppgave.

En kategorisk variabel i R kan deles inn i nominell kategorisk variabel og ordinal kategorisk variabel.

Nominell kategorisk variabel

En kategorisk variabel har flere verdier, men rekkefølgen spiller ingen rolle. For eksempel mann eller kvinne. Kategoriske variabler i R har ikke rekkefølge.

# Create a color vector
color_vector <- c('blue', 'red', 'green', 'white', 'black', 'yellow')
# Convert the vector to factor
factor_color <- factor(color_vector)
factor_color

Utgang:

## [1] blue   red    green  white  black  yellow
## Levels: black blue green red white yellow

Fra factor_color kan vi ikke se noen rekkefølge.

Ordinal kategorisk variabel

Ordinale kategoriske variabler har en naturlig rekkefølge. Vi kan spesifisere rekkefølgen, fra den laveste til den høyeste med rekkefølge = TRUE og høyest til lavest med rekkefølge = FALSE.

Eksempel:

Vi kan bruke sammendrag for å telle verdiene for hver faktorvariabel i R.

# Create Ordinal categorical vector 
day_vector <- c('evening', 'morning', 'afternoon', 'midday', 'midnight', 'evening')
# Convert `day_vector` to a factor with ordered level
factor_day <- factor(day_vector, order = TRUE, levels =c('morning', 'midday', 'afternoon', 'evening', 'midnight'))
# Print the new variable
factor_day

Utgang:

## [1] evening   morning   afternoon midday    
midnight  evening

Eksempel:

## Levels: morning < midday < afternoon < evening < midnight
# Append the line to above code
# Count the number of occurence of each level
summary(factor_day)

Utgang:

##   morning    midday afternoon   evening  midnight
##         1         1         1         2         1

R bestilte nivået fra 'morgen' til 'midnatt' som spesifisert i nivåparentesen.

Kontinuerlige variabler

Kontinuerlige klassevariabler er standardverdien i R. De lagres som numeriske eller heltall. Vi kan se det fra datasettet nedenfor. mtcars er et innebygd datasett. Den samler informasjon om forskjellige biltyper. Vi kan importere den ved å bruke mtcars og sjekke klassen til variabelen mpg, mile per gallon. Den returnerer en numerisk verdi, som indikerer en kontinuerlig variabel.

dataset <- mtcars
class(dataset$mpg)

Produksjon

## [1] "numeric"

Oppsummer dette innlegget med: