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"