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"
