Tegur R: Kategoorilised muutujad ja pidevad muutujad

Mis on R-i tegur?

Tegur R-s on muutuja, mida kasutatakse andmete kategoriseerimiseks ja salvestamiseks ning millel on piiratud arv erinevaid väärtusi. See salvestab andmed täisarvuliste väärtuste vektorina. Koefitsient R-is on tuntud ka kui kategooriline muutuja, mis salvestab tasemetena nii stringi- kui ka täisarvude andmeväärtusi. Faktorit kasutatakse enamasti statistilises modelleerimises ja uurimuslikul andmeanalüüsil R-ga.

Andmekogus saame eristada kahte tüüpi muutujaid: kategooriline ja pidev.

  • R-i kategooriliste muutujate kirjeldavas statistikas on väärtus piiratud ja põhineb tavaliselt konkreetsel piiratud rühmal. Näiteks võib R-i kategooriliseks muutujaks olla riigid, aasta, sugu, amet.
  • Pidev muutuja võib aga võtta mis tahes väärtusi täisarvust kümnendkohani. Näiteks võib meil olla tulu, aktsia hind jne.

Kategoorilised muutujad

Kategoorilised muutujad sisse R salvestatakse teguriks. Kontrollime allolevat koodi, et teisendada tähemärgimuutuja tegurimuutujaks R-is. Masinõppe algoritmis tähemärke ei toetata ja ainus viis on teisendada string täisarvuks.

Süntaks

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

Argumendid:

  • x: kategooriliste andmete vektor R-is. Peab olema string või täisarv, mitte kümnend.
  • Taset: võimalike väärtuste vektor, mille võtab x. See argument on valikuline. Vaikeväärtus on vektori x üksuste kordumatu loend.
  • Labels: lisage R-i x kategooria andmetele silt. Näiteks 1 võib võtta sildi „mees”, 0 aga sildi „naine”.
  • tellitud: määrake, kas tasemed tuleks järjestada R-i kategoorilistes andmetes.

Näide:

Loome faktoriandmete raami.

# 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)

Väljund:

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

Oluline on muuta a nöör tegurimuutujaks R-is, kui täidame masinõppe ülesande.

Kategoorilise muutuja R-s võib jagada nominaalne kategooriline muutuja ja järguline kategooriline muutuja.

Nominaalne kategooriline muutuja

Kategoorilisel muutujal on mitu väärtust, kuid järjekord ei oma tähtsust. Näiteks mees või naine. Kategoorilistel muutujatel R-is ei ole järjestust.

# 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

Väljund:

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

Teguri_värvi järgi ei saa me järjekorda öelda.

Ordinaal Kategooriline muutuja

Kategoorilistel muutujatel on loomulik järjestus. Saame määrata järjekorra, madalaimast kõrgeimani, kus order = TRUE ja kõrgeimast madalaimani, kui order = FALSE.

Näide:

R-i iga tegurimuutuja väärtuste loendamiseks saame kasutada kokkuvõtet.

# 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

Väljund:

## [1] evening   morning   afternoon midday    
midnight  evening

Näide:

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

Väljund:

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

R järjestas taseme "hommikust" kuni "keskööni", nagu on määratud tasemete sulgudes.

Pidevad muutujad

Pidevad klassimuutujad on R-i vaikeväärtused. Need salvestatakse numbrite või täisarvudena. Näeme seda allolevast andmekogumist. mtcars on sisseehitatud andmestik. See kogub teavet erinevate autotüüpide kohta. Saame selle importida mtcarsi abil ja kontrollida muutuja mpg klassi, miil galloni kohta. See tagastab arvväärtuse, mis näitab pidevat muutujat.

dataset <- mtcars
class(dataset$mpg)

Väljund

## [1] "numeric"

Võta see postitus kokku järgmiselt: