Faktor v R: kategorická premenná & Kontinuálne premenné

Obsah:

Anonim

Čo je faktor v R?

Faktor v R je premenná, ktorá sa používa na kategorizáciu a ukladanie údajov a ktorá má obmedzený počet rôznych hodnôt. Ukladá údaje ako vektor celočíselných hodnôt. Faktor v R je tiež známy ako kategorická premenná, ktorá ukladá hodnoty reťazca aj celého čísla ako úrovne. Faktor sa väčšinou používa pri štatistickom modelovaní a analýze prieskumných údajov s R.

V množine údajov môžeme rozlíšiť dva typy premenných: kategorické a spojité .

  • V deskriptívnej štatistike pre kategorické premenné v R je hodnota obmedzená a zvyčajne vychádza z konkrétnej konečnej skupiny. Napríklad kategorickou premennou v R môžu byť krajiny, rok, pohlavie, povolanie.
  • Spojitá premenná však môže nadobúdať ľubovoľné hodnoty, od celých čísel po desatinné. Napríklad môžeme mať výnosy, cenu akcie atď.

Kategorické premenné

Kategorické premenné v R sa ukladajú do faktora. Poďme skontrolovať nasledujúci kód, aby sme premenili znakovú premennú na premennú faktora v R. Znaky nie sú podporované v algoritme strojového učenia a jediným spôsobom je prevod reťazca na celé číslo.

Syntax

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

Argumenty:

  • x : Vektor kategorických údajov v R. Musí to byť reťazec alebo celé číslo, nie desatinné číslo.
  • Úrovne : Vektor možných hodnôt prijatých x. Tento argument je voliteľný. Predvolená hodnota je jedinečný zoznam položiek vektora x.
  • Menovky : Pridajte štítok k x kategorickým údajom v R. Napríklad 1 môže mať menovku „male“, zatiaľ čo 0, menovku „female“.
  • ordered : Určte, či sa majú úrovne zoradiť v kategorických údajoch v R.

Príklad:

Vytvorme faktorový dátový rámec.

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

Výkon:

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

Pri vykonávaní úlohy strojového učenia je dôležité transformovať reťazec na premennú faktora v R.

Kategorickú premennú v R možno rozdeliť na nominálnu kategorickú premennú a radovú kategorickú premennú .

Nominálna kategorická premenná

Kategorická premenná má niekoľko hodnôt, ale na poradí nezáleží. Napríklad mužský alebo ženský. Kategorické premenné v R nemá usporiadanie.

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

Výkon:

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

Z factor_color nemôžeme rozoznať žiadnu objednávku.

Poradová kategorická premenná

Obyčajné kategorické premenné majú prirodzené usporiadanie. Môžeme určiť poradie, od najnižšej po najvyššiu s objednávkou = TRUE a od najvyššej po najnižšiu s objednávkou = FALSE.

Príklad:

Pomocou súhrnu môžeme spočítať hodnoty pre každú premennú faktora v R.

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

Výkon:

## [1] evening morning afternoon middaymidnight evening 

Príklad:

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

Výkon:

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

R nariadil úroveň od „rána“ do „polnoci“, ako je uvedené v zátvorkách úrovní.

Kontinuálne premenné

Kontinuálne premenné triedy sú predvolenou hodnotou v R. Sú uložené ako číselné alebo celé číslo. Vidíme to z nižšie uvedeného súboru údajov. mtcars je vstavaný súbor údajov. Zhromažďuje informácie o rôznych typoch automobilov. Môžeme to importovať pomocou mtcars a skontrolovať triedu premennej mpg, míľa na galón. Vráti číselnú hodnotu, ktorá označuje súvislú premennú.

dataset <- mtcarsclass(dataset$mpg)

Výkon

## [1] "numeric"