Увод у оквире података у Р
Оквир података је 2Д (дводимензионална) структура слична низу у којој су прихваћене различите врсте података попут знакова, нумеричких итд. Оквир података је подскуп листе који има сваку компоненту једнаке дужине. У основи, оквир података је табела у којој сваки ступац садржи вриједности једне варијабле, а сваки ред садржи по један скуп вриједности из сваког ступца.
Постоје неке карактеристике оквира података.
- Назив колоне је обавезан
- Имена реда морају бити јединствена
- Број ставки у сваком ступцу треба бити исти
Кораци за прављење оквира података у Р
Кренимо од стварања оквира података који је објашњен у даљем тексту,
1. корак: Направите оквир података за наставу у школи.
Шифра:
tenthclass = data.frame(roll_number = c(1:5), Name = c("John", "Sam", "Casey", "Ronald", "Mathew"),
Marks = c(77, 87, 45, 68, 95), stringsAsFactors = FALSE)
print(tenthclass)
Када покренемо овај код, добићемо такав оквир података.
Излаз:
Овде је у нашем примеру оквир података врло мали, али у стварном животу, док се бавимо проблемом, имамо пуно података. Дакле, да бисмо разумели структуру података преносимо функцију Стр ().
Корак 2: У наш код додамо доњу линију.
Шифра:
Str(tenthclass)
Када покренемо читав код, добићемо излаз.
Излаз:
Горњи излаз значи да имамо 5 опажања 3 променљиве. Затим објашњава тип података сваке променљиве. Као што је у нашем примеру број свитака цео број, име је знака и ознаке су нумерисане.
Једном када разумемо структуру података, проследићемо доле наведени код да бисмо их статистички разумели.
Корак 3: Сада ћемо користити резиме () функцију
Шифра:
summary(tenthclass)
Излаз:
Резиме пружа боље разумевање наших података. Рећи ће нам да значи, средња, кватилна, Макс и Мин. Ове ствари ће нам помоћи да донесемо бољу одлуку.
Како издвојити податке из оквира података Р?
Овде ћемо наставити горњи случај. Претпоставимо да желимо да знамо име ученика у десетом разреду, само име. Па како ћемо издвојити?
Наш оквир података изгледа овако.
ролл_нумбер Ознаке имена
1. Јованова 77
2 Сам 87
3 Цасеи 45
4 Роналд 68
5 Матеј 95
Да бисмо само добили име као излаз, проследићемо следећи код.
Шифра:
onlyname = tenthclass$Name
print(onlyname)
Излаз:
Овде ако пробијемо код, једноставно стављамо знак долара између имена нашег оквира података и имена променљиве коју желимо да добијемо.
Сада размислите о ситуацији, учитељ жели да зна све о листи број 2, као што је његово име и колико је постигао.
Овде нам треба све о ролу број 2, па ћемо пренети доле наведени код.
Шифра:
result_rollnumber2 = tenthclass(c(2), c(1:3)) print(result_rollnumber2)
Излаз:
Прошири се у оквирима података
Оквир података може се повећавати и смањивати додавањем или брисањем ступаца и редова.
1. Додајте ред
Имамо два оквира података. Један оквир података припада десетој секцији класе А, а други податковни оквир припада десетом делу Б. класе Б. Сада се ови различити одељци спајају у једну класу.
Пример # 1: Класа 10 А
Шифра:
tenthclass_sectionA = data.frame(roll_number = c(1:5),
Name = c("John", "Sam", "Casey", "Ronald", "Mathew"),
Marks = c(77, 87, 45, 68, 95), stringsAsFactors = FALSE)
print(tenthclass_sectionA)
Излаз:
Пример # 2: Класа 10 Б
Шифра:
tenthclass_sectionB = data.frame(roll_number = c(6:10), Name = c("Ria", "Justin", "Bon", "Tim", "joe"),
Marks = c(68, 98, 54, 68, 42), stringsAsFactors = FALSE)
print(tenthclass_sectionB)
Излаз:
Пример # 3: рбинд () функција
Сада морамо објединити ове обе класе у једну класу. Овде ћемо користити рбинд () функцију. Једино ограничење у додавању новог реда је то што морамо унијети нове редове у исту структуру као и постојећи оквир података.
Шифра:
new_tenthclass = rbind(tenthclass_sectionA, tenthclass_sectionB)
print(new_tenthclass)
Излаз:
2. Додати колону
Сада размотрите случај у којем морамо додати детаље крвне групе сваког ученика у разреду 10. Додаћемо му нови ступац и назвати га „Блоод_гроуп“.
Наш оквир података изгледа овако.
Шифра:
tenthclass = data.frame(roll_number = c(1:5), Name = c("John", "Sam", "Casey", "Ronald", "Mathew"),
Marks = c(77, 87, 45, 68, 95), stringsAsFactors = FALSE)
print(tenthclass)
Излаз:
Шифра:
tenthclass$Blood_group = c("O", "AB", "B+", "A+", "AB")
print(tenthclass)
Излаз:
Избришите ред и ступац из оквира података
За брисање редака и ступаца из оквира података користимо следећу имплементацију кода.
1. Обришите колону
Шифра:
print(tenthclass)
Излаз:
У овом оквиру података, ако морамо да избришемо променљиву крвну групу (крајњи десни ступац), пренећемо доњи код.
Шифра:
tenthclass$Blood_group = NULL
print(tenthclass)
Излаз:
Заобилазећи наредбу НУЛЛ можемо директно уклонити променљиву из нашег оквира података.
2. Избришите ред
Шифра:
print(tenthclass)
Излаз:
Сада размислите о ситуацији у којој нам Јохнови трагови нису потребни, па морамо уклонити највиши ред.
Шифра:
tenthclass = tenthclass(-1, ) print(tenthclass)
Излаз:
Ажурирајте податке у оквиру података
Шифра:
print(tenthclass)
Излаз:
Претпоставимо да је Сам постигао 98 марака, али према нашим оквирима података је 87. Дакле, можемо пренијети доњи код да га исправимо.
Шифра:
tenthclass$Marks(2) = 98
print(tenthclass)
Излаз:
Закључак
Оквири података су врло чест облик изјаве проблема. То је листа променљиве истог броја редова са јединственим ИД-овима реда. Овај чланак нам помаже да знамо како можемо додати ред, додати колону, избрисати ред, избрисати колону оквира података и такође говори како можемо ажурирати податке у оквиру података.
Препоручени чланци
Ово је водич за Оквири података у Р. Овде смо размотрили различите кораке за креирање оквира података и како извући податке из оквира података у Р. Такође можете погледати следеће чланке да бисте сазнали више -
- Топ 5 типова података у Р
- Листа корисних Р пакета
- Р ЦСВ датотеке
- Функције програма Р - Важност
- Фактор у Р са предностима