R faktorius: kategorinis kintamasis & Nuolatiniai kintamieji

Kas yra R faktorius?

R faktorius yra kintamasis, naudojamas duomenims suskirstyti į kategorijas ir saugoti, turintis ribotą skaičių skirtingų reikšmių. Duomenys saugomi kaip sveikųjų skaičių vektorius. R faktorius taip pat žinomas kaip kategorinis kintamasis, kuriame tiek eilutės, tiek sveikojo skaičiaus duomenų vertės saugomos lygiais. Faktorius dažniausiai naudojamas atliekant statistinį modeliavimą ir tiriamąją duomenų analizę su R.

Duomenų rinkinyje galime išskirti du kintamųjų tipus: kategorinius ir tęstinius .

  • R kategorinių kintamųjų aprašomojoje statistikoje vertė yra ribota ir paprastai pagrįsta tam tikra baigtine grupe. Pavyzdžiui, kategorinis kintamasis R gali būti šalys, metai, lytis, užsiėmimas.
  • Tačiau nenutrūkstamasis kintamasis gali turėti bet kokias reikšmes - nuo sveiko skaičiaus iki dešimtainio. Pavyzdžiui, galime gauti pajamas, akcijos kainą ir kt.

Kategoriniai kintamieji

Kategoriniai R kintamieji saugomi veiksnyje. Patikrinkime žemiau esantį kodą, jei norite pakeisti simbolių kintamąjį į faktoriaus kintamąjį R. Rašmenys nepalaikomi mašininio mokymosi algoritme, ir vienintelis būdas yra eilutę paversti sveikuoju skaičiumi.

Sintaksė

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

Argumentai:

  • x : kategorinių duomenų vektorius R turi būti eilutė arba sveikasis skaičius, o ne dešimtainis.
  • Lygiai : galimų reikšmių, gautų x, vektorius. Šis argumentas yra neprivalomas. Numatytoji reikšmė yra unikalus vektoriaus x elementų sąrašas.
  • Etiketės : pridėkite etiketę prie x kategorinių duomenų, esančių R, ​​pavyzdžiui. 1 gali būti etiketė „male“, o 0 - etiketė „female“.
  • tvarka : nustatykite, ar lygiai turėtų būti išdėstyti kategoriniais duomenimis R

Pavyzdys:

Sukurkime faktorių duomenų rėmelį.

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

Išvestis:

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

Atliekant mašininio mokymosi užduotį, svarbu eilutę paversti faktoriaus kintamuoju R.

Kategorinį kintamąjį R galima suskirstyti į nominalųjį kategorinį kintamąjį ir eilinį kategorinį kintamąjį .

Nominalus kategorinis kintamasis

Kategorinis kintamasis turi keletą reikšmių, tačiau tvarka neturi reikšmės. Pavyzdžiui, vyras ar moteris. Kategoriniai R kintamieji neturi eilės tvarkos.

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

Išvestis:

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

Iš factor_color negalime pasakyti jokios tvarkos.

Eilinis kategorinis kintamasis

Eiliniai kategoriniai kintamieji turi natūralią tvarką. Mes galime nurodyti tvarką, nuo mažiausios iki didžiausios, jei tvarka = TIESA, o aukščiausia - žemiausia, jei tvarka = NETIESA.

Pavyzdys:

Mes galime naudoti suvestinę, kad suskaičiuotume kiekvieno R faktoriaus kintamojo vertes.

# 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

Išvestis:

## [1] evening morning afternoon middaymidnight evening 

Pavyzdys:

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

Išvestis:

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

R nurodė lygį nuo „ryto“ iki „vidurnakčio“, kaip nurodyta lygių skliaustuose.

Nuolatiniai kintamieji

Nuolatiniai klasės kintamieji yra numatytoji R reikšmė. Jie saugomi kaip skaitmenys arba sveikasis skaičius. Tai galime pamatyti iš toliau pateikto duomenų rinkinio. „mtcars“ yra įmontuotas duomenų rinkinys. Čia kaupiama informacija apie skirtingus automobilių tipus. Mes galime jį importuoti naudodami mtcars ir patikrinkite kintamojo mpg klasę, mylia per galoną. Jis pateikia skaitinę vertę, nurodydamas ištisinį kintamąjį.

dataset <- mtcarsclass(dataset$mpg)

Rezultatas

## [1] "numeric"

Įdomios straipsniai...