Factor in R: categorische variabele en continue variabelen
Wat is factor in R?
Factor in R is een variabele die wordt gebruikt om de gegevens te categoriseren en op te slaan, met een beperkt aantal verschillende waarden. Het slaat de gegevens op als een vector van gehele waarden. Factor in R is ook bekend als een categorische variabele die zowel tekenreeks- als gehele gegevenswaarden als niveaus opslaat. Factor wordt meestal gebruikt bij statistische modellering en verkennende data-analyse met R.
In een dataset kunnen we twee soorten variabelen onderscheiden: categorisch en doorlopend.
- In beschrijvende statistieken voor categorische variabelen in R is de waarde beperkt en meestal gebaseerd op een bepaalde eindige groep. Een categorische variabele in R kan bijvoorbeeld landen, jaar, geslacht, beroep zijn.
- Een continue variabele kan echter elke waarde aannemen, van geheel getal tot decimaal. We kunnen bijvoorbeeld de omzet, de prijs van een aandeel, enz. hebben.
Categorische variabelen
Categorische variabelen in R worden opgeslagen in een factor. Laten we de onderstaande code controleren om een tekenvariabele om te zetten in een factorvariabele in R. Tekens worden niet ondersteund in het machine learning-algoritme en de enige manier is om een tekenreeks naar een geheel getal te converteren.
Syntaxis
factor(x = character(), levels, labels = levels, ordered = is.ordered(x))
Argumenten:
- x: Een vector van categorische gegevens in R. Moet een tekenreeks of geheel getal zijn, niet decimaal.
- Niveaus: Een vector van mogelijke waarden genomen door x. Dit argument is optioneel. De standaardwaarde is de unieke lijst met items van de vector x.
- labels: Voeg een label toe aan de x categorische gegevens in R. 1 kan bijvoorbeeld het label 'mannelijk' aannemen, terwijl 0 het label 'vrouwelijk' kan nemen.
- bestelde: Bepaal of de niveaus moeten worden geordend in categorische gegevens in R.
Voorbeeld:
Laten we een factordataframe maken.
# 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)
Output:
## [1] "character" ## [1] "factor"
Het is belangrijk om een transformatie door te voeren snaar in factorvariabele in R wanneer we de Machine Learning-taak uitvoeren.
Een categorische variabele in R kan worden onderverdeeld in nominale categorische variabele en ordinale categorische variabele.
Nominale categorische variabele
Een categorische variabele heeft verschillende waarden, maar de volgorde doet er niet toe. Bijvoorbeeld mannelijk of vrouwelijk. Categorische variabelen in R hebben geen ordening.
# 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
Output:
## [1] blue red green white black yellow ## Levels: black blue green red white yellow
Uit de factor_kleur kunnen we geen enkele volgorde afleiden.
Ordinale categorische variabele
Ordinale categorische variabelen hebben een natuurlijke ordening. We kunnen de volgorde specificeren, van laag naar hoog met volgorde = WAAR en van hoog naar laag met volgorde = FALSE.
Voorbeeld:
We kunnen samenvatting gebruiken om de waarden voor elke factorvariabele in R te tellen.
# 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
Output:
## [1] evening morning afternoon midday midnight evening
Voorbeeld:
## Levels: morning < midday < afternoon < evening < midnight # Append the line to above code # Count the number of occurence of each level summary(factor_day)
Output:
## morning midday afternoon evening midnight ## 1 1 1 2 1
R heeft het niveau geordend van 'ochtend' tot 'middernacht', zoals gespecificeerd tussen de haakjes van het niveau.
Continue variabelen
Continue klassevariabelen zijn de standaardwaarde in R. Ze worden opgeslagen als numeriek of geheel getal. We kunnen het zien in de onderstaande dataset. mtcars is een ingebouwde dataset. Het verzamelt informatie over verschillende soorten auto's. We kunnen het importeren door mtcars te gebruiken en de klasse van de variabele mpg, mijl per gallon, te controleren. Het retourneert een numerieke waarde, die een continue variabele aangeeft.
dataset <- mtcars class(dataset$mpg)
uitgang
## [1] "numeric"