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"