Faktor i R: Kategoriska variabler och kontinuerliga variabler
Vad är faktor i R?
Faktor i R är en variabel som används för att kategorisera och lagra data, med ett begränsat antal olika värden. Den lagrar data som en vektor av heltalsvärden. Faktor i R är också känd som en kategorisk variabel som lagrar både sträng- och heltalsdatavärden som nivåer. Faktor används mest i statistisk modellering och utforskande dataanalys med R.
I en datauppsättning kan vi särskilja två typer av variabler: kategorisk och kontinuerlig.
- I deskriptiv statistik för kategoriska variabler i R är värdet begränsat och baseras vanligtvis på en viss ändlig grupp. Till exempel kan en kategorisk variabel i R vara länder, år, kön, yrke.
- En kontinuerlig variabel kan dock ta alla värden, från heltal till decimal. Till exempel kan vi ha intäkter, pris på en aktie osv.
Kategoriska variabler
Kategoriska variabler i R lagras i en faktor. Låt oss kontrollera koden nedan för att konvertera en teckenvariabel till en faktorvariabel i R. Tecken stöds inte i maskininlärningsalgoritm, och det enda sättet är att konvertera en sträng till ett heltal.
syntax
factor(x = character(), levels, labels = levels, ordered = is.ordered(x))
argument:
- x: En vektor med kategoriska data i R. Måste vara en sträng eller ett heltal, inte decimal.
- Nivåer: En vektor med möjliga värden tagna av x. Detta argument är valfritt. Standardvärdet är den unika listan med objekt i vektorn x.
- Etiketter: Lägg till en etikett till x kategoridata i R. Till exempel kan 1 ta etiketten "man", medan 0, etiketten "kvinna".
- beordrade: Bestäm om nivåerna ska ordnas i kategoridata i R.
Exempelvis:
Låt oss skapa en faktordataram.
# 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)
Produktion:
## [1] "character" ## [1] "factor"
Det är viktigt att omvandla en sträng till faktorvariabel i R när vi utför maskininlärningsuppgift.
En kategorisk variabel i R kan delas in i nominell kategorivariabel och ordinal kategorisk variabel.
Nominell Kategorisk Variabel
En kategorisk variabel har flera värden men ordningen spelar ingen roll. Till exempel man eller kvinna. Kategoriska variabler i R har ingen ordning.
# 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
Produktion:
## [1] blue red green white black yellow ## Levels: black blue green red white yellow
Från factor_color kan vi inte se någon ordning.
Ordinal Kategorisk Variabel
Ordinalkategoriska variabler har en naturlig ordning. Vi kan specificera ordningen, från den lägsta till den högsta med order = TRUE och högst till lägst med order = FALSE.
Exempelvis:
Vi kan använda summering för att räkna värdena för varje 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
Produktion:
## [1] evening morning afternoon midday midnight evening
Exempelvis:
## Levels: morning < midday < afternoon < evening < midnight # Append the line to above code # Count the number of occurence of each level summary(factor_day)
Produktion:
## morning midday afternoon evening midnight ## 1 1 1 2 1
R beordrade nivån från 'morgon' till 'midnatt' som specificerats i nivåparentesen.
Kontinuerliga variabler
Kontinuerliga klassvariabler är standardvärdet i R. De lagras som numeriska eller heltal. Vi kan se det från datasetet nedan. mtcars är en inbyggd datauppsättning. Den samlar information om olika typer av bilar. Vi kan importera den genom att använda mtcars och kontrollera klassen för variabeln mpg, mile per gallon. Den returnerar ett numeriskt värde som indikerar en kontinuerlig variabel.
dataset <- mtcars class(dataset$mpg)
Produktion
## [1] "numeric"