Какво е фактор в R?
Factor in R е променлива, използвана за категоризиране и съхраняване на данните, имаща ограничен брой различни стойности. Той съхранява данните като вектор на целочислени стойности. Факторът в R е известен също като категорична променлива, която съхранява както низови, така и целочислени данни като нива. Факторът се използва най-вече при статистическо моделиране и изследователски анализ на данни с R.
В набор от данни можем да различим два типа променливи: категорични и непрекъснати .
- В описателната статистика за категориалните променливи в R стойността е ограничена и обикновено се основава на определена крайна група. Например, категорична променлива в R може да бъде държави, година, пол, професия.
- Непрекъсната променлива обаче може да приема всякакви стойности, от цяло число до десетично. Например, можем да имаме приходи, цена на акция и т.н. ...
Категорични променливи
Категоричните променливи в R се съхраняват във фактор. Нека проверим кода по-долу, за да преобразуваме променлива на символ в променлива на фактор в R. Символите не се поддържат в алгоритъма за машинно обучение и единственият начин е да преобразуваме низ в цяло число.
Синтаксис
factor(x = character(), levels, labels = levels, ordered = is.ordered(x))
Аргументи:
- x : вектор на категорични данни в R. Трябва да бъде низ или цяло число, а не десетично.
- Нива : вектор от възможни стойности, взети от x. Този аргумент не е задължителен. Стойността по подразбиране е уникалният списък с елементи от вектора x.
- Етикети : Добавете етикет към x категоричните данни в R. Например, 1 може да вземе етикета „мъжки“, докато 0, етикетът „женски“.
- наредено : Определете дали нивата трябва да бъдат подредени в категорични данни в R.
Пример:
Нека създадем факторна рамка за данни.
# 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)
Изход:
## [1] "character"## [1] "factor"
Важно е да преобразуваме низ в факторна променлива в R, когато изпълняваме задача за машинно обучение.
Категориалната променлива в R може да бъде разделена на номинална категориална променлива и редовна категориална променлива .
Номинална категорична променлива
Категоричната променлива има няколко стойности, но редът няма значение. Например мъж или жена. Категоричните променливи в R нямат подреждане.
# Create a color vectorcolor_vector <- c('blue', 'red', 'green', 'white', 'black', 'yellow')# Convert the vector to factorfactor_color <- factor(color_vector)factor_color
Изход:
## [1] blue red green white black yellow## Levels: black blue green red white yellow
От factor_color не можем да определим никаква поръчка.
Обикновена категорична променлива
Обикновените категориални променливи имат естествено подреждане. Можем да посочим поръчката, от най-ниската до най-високата с поръчка = TRUE и най-високата до най-ниската с поръчка = FALSE.
Пример:
Можем да използваме резюме, за да преброим стойностите за всяка променлива на фактора в 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
Изход:
## [1] evening morning afternoon middaymidnight evening
Пример:
## Levels: morning < midday < afternoon < evening < midnight# Append the line to above code# Count the number of occurence of each levelsummary(factor_day)
Изход:
## morning midday afternoon evening midnight## 1 1 1 2 1
R нарежда нивото от "сутрин" до "полунощ", както е посочено в скобите за нива.
Непрекъснати променливи
Непрекъснатите променливи на класа са стойността по подразбиране в R. Те се съхраняват като числови или цели числа. Можем да го видим от набора от данни по-долу. mtcars е вграден набор от данни. Той събира информация за различни видове автомобили. Можем да го импортираме с помощта на mtcars и да проверим класа на променливата mpg, миля на галон. Той връща числова стойност, показваща непрекъсната променлива.
dataset <- mtcarsclass(dataset$mpg)
Изход
## [1] "numeric"