Увод у факторе у Р
У Р можемо обрадити различите врсте променљивих. Фактор такође можемо претпоставити као врсту променљиве која узима само ограничен број додељене вредности; таква варијабла се такође назива категорична варијабла.
Предности фактора
- У њега се могу сместити и цели бројеви и низови
1. У случају целих бројева
data = c(5, 6, 6, 6, 7, 5, 7, 6, 7, 5, 6, 7)
factor_data = factor(data)
factor_data
Излаз
2. У случају жице
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"))
y
Излаз
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y
Излаз
- Веома корисно када ступци имају ограничен број јединствених вредности
Име | Начин путовања |
Јохн | Камион |
Схав | Цар |
Лее | Циклус |
Мусан | Бицикл |
Лози | Камион |
Рииа | Цар |
Миј | Циклус |
Овде имамо ограничен број јединствених вредности у колони 2.
- Помаже исправљању струна помоћу погрешака при упису (грешке куцања).
Како створити фактор у Р?
Факторе можемо створити користећи факторе кода ().
Истражите више о фактору ().
factor(x = character(), levels, labels = levels, ordered = is.ordered(x))
Где,
Кс је скуп категоријских података. Као што смо већ расправљали, то би требало бити низ или цели бројеви.
Нивои су постављени у вриједности које може узети Кс. Нивои садрже сву јединствену вредност доступну у колони (к).
Ознаке као назив сугерирају означавање података доступних на Кс.
Наручени одређује да ли нивое треба да буду одређени било којим одређеним редоследом.
Пример # 1
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike"))
y
Излаз:
Пример бр. 2
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y
Излаз:
У примеру 2 можемо видети да такође можемо дефинисати и „Нивое“.
Сада ћемо видјети више о факторима користећи Стр (и).
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y
Излаз:
str(y)
Излаз:
Јасно се види да су фактори похрањени као цели вектори, а нивои су сачувани као вектор знакова, а појединачни елементи су заправо похрањени као индекси.
- Сада ћемо видети како приступити компонентама фактора
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y
Излаз:
y(2) # helps to access 2nd element
Излаз:
x(c(3, 4)) # helps to access 3rd and 4th element
Излаз
x(-1) # access all except 1st element
Излаз:
- Сада ћемо видети како да променимо фактор.
y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y
Излаз:
y(3) = "Truck" #modifty third element
y
Излаз
Додавање фактору:
y(10) = "Car"
y
Излаз:
Имајте на уму да не можемо доделити ништа фактору који није део нивоа.
y(4) = "Plane"Warning message:In `(<-.factor`(`*tmp*`, 4, value = "Plane") : invalid factor level, NA generated
Излаз:
У овом примеру можемо видети да „Равнина“ није део нашег нивоа, па смо добили поруку упозорења која каже да је „авион“ неважећи ниво фактора.
Претварање података у фактор
Подаци су доступни у великом броју, а сваки је пут тешко уписати цјелокупну ријеч у код, тако да за ово прво ћемо податке претворити у фактор, а затим претворити фактор у лик или број према нашим погодностима.
Хајде да сада радимо на неким стварним подацима. Тамо где имамо 50 посматрања и подносиоци захтева дају свој смер рада. Као што Џон путује на север ради својих радних обавеза или Сам путује у правцу Југа због својих радних обавеза.
direction <- c("West", "East", "North", "West", "South", "East", "South", "East", "South", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West")
direction.factor = factor(direction)
direction.factor
Излаз:
Нивои: Источни сјевер, југозапад
Сада ако желимо претворити фактор у карактер вектора:
Користићемо код ас.цхарацтер ().
as.character(direction.factor)
Излаз:
Или желимо да фактор претворимо у нумерички вектор:
Користит ћемо ас.нумериц () код.
as.numeric(direction.factor)
Излаз:
Препоручени чланци
Ово је водич за факторе у Р. Овде разговарамо о уводу, Предности фактора, Како створити фактор у Р заједно са излазима. Можете и да прођете кроз друге наше предложене чланке да бисте сазнали више -
- Спарк СКЛ Датафраме
- Р Типови података
- Вишедимензионална база података
- АВС Дата Пипелине