Co je faktor v R?
Faktor v R je proměnná používaná ke kategorizaci a ukládání dat, která má omezený počet různých hodnot. Ukládá data jako vektor celočíselných hodnot. Faktor v R je také známý jako kategorická proměnná, která ukládá hodnoty dat řetězce i celého čísla jako úrovně. Faktor se většinou používá při statistickém modelování a průzkumné analýze dat s R.
V datové sadě můžeme rozlišit dva typy proměnných: kategorické a spojité .
- V popisných statistikách pro kategorické proměnné v R je hodnota omezená a obvykle je založena na konkrétní konečné skupině. Například kategorickou proměnnou v R mohou být země, rok, pohlaví, povolání.
- Spojitá proměnná však může nabývat jakýchkoli hodnot, od celých čísel až po desítková. Můžeme například mít výnos, cenu akcie atd.
Kategorické proměnné
Kategorické proměnné v R jsou uloženy do faktoru. Podívejme se na níže uvedený kód a převeďte proměnnou znaků na proměnnou faktoru v R. Znaky nejsou podporovány v algoritmu strojového učení a jediným způsobem je převod řetězce na celé číslo.
Syntax
factor(x = character(), levels, labels = levels, ordered = is.ordered(x))
Argumenty:
- x : Vektor kategoriálních dat v R. Musí to být řetězec nebo celé číslo, ne desetinné číslo.
- Úrovně : Vektor možných hodnot převzatých z x. Tento argument je volitelný. Výchozí hodnota je jedinečný seznam položek vektoru x.
- Štítky : Přidejte štítek ke kategoriálním údajům x v R. Například 1 může mít štítek `male`, zatímco 0, štítek` female`.
- seřazeno : Určete, zda mají být úrovně seřazeny v kategorických datech v R.
Příklad:
Vytvořme datový rámec faktoru.
# 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ýstup:
## [1] "character"## [1] "factor"
Při provádění úlohy Machine Learning je důležité transformovat řetězec na proměnnou faktoru v R.
Kategorickou proměnnou v R lze rozdělit na nominální kategorickou proměnnou a pořadovou kategorickou proměnnou .
Nominální kategorická proměnná
Kategorická proměnná má několik hodnot, ale na pořadí nezáleží. Například muž nebo žena. Kategorické proměnné v R nemají řazení.
# Create a color vectorcolor_vector <- c('blue', 'red', 'green', 'white', 'black', 'yellow')# Convert the vector to factorfactor_color <- factor(color_vector)factor_color
Výstup:
## [1] blue red green white black yellow## Levels: black blue green red white yellow
Z factor_color nemůžeme určit žádnou objednávku.
Pořadová kategorická proměnná
Pořadové kategorické proměnné mají přirozené řazení. Můžeme určit pořadí, od nejnižší po nejvyšší s objednávkou = TRUE a od nejvyšší po nejnižší s objednávkou = FALSE.
Příklad:
Můžeme použít souhrn k spočítání hodnot pro každou proměnnou faktoru 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ýstup:
## [1] evening morning afternoon middaymidnight evening
Příklad:
## Levels: morning < midday < afternoon < evening < midnight# Append the line to above code# Count the number of occurence of each levelsummary(factor_day)
Výstup:
## morning midday afternoon evening midnight## 1 1 1 2 1
R nařídil úroveň od „rána“ do „půlnoci“, jak je uvedeno v závorkách úrovní.
Kontinuální proměnné
Kontinuální proměnné třídy jsou výchozí hodnotou v R. Jsou uloženy jako číselné nebo celé číslo. Vidíme to z níže uvedené datové sady. mtcars je předdefinovaná datová sada. Shromažďuje informace o různých typech automobilů. Můžeme jej importovat pomocí mtcars a zkontrolovat třídu proměnné mpg, míle na galon. Vrátí číselnou hodnotu označující spojitou proměnnou.
dataset <- mtcarsclass(dataset$mpg)
Výstup
## [1] "numeric"