Въведение в рамки от данни в R
Кадърът от данни е двуизмерна (двуизмерна) структура, подобна на масив, в която се приемат различни типове данни като символи, цифрови и т.н. Кадърът от данни е подмножество от списък, който има всеки компонент с еднаква дължина. По принцип рамката с данни е таблица, в която всяка колона съдържа стойности на една променлива и всеки ред съдържа по един набор от стойности от всяка колона.
Има някои характеристики на рамката с данни.
- Името на колоната е задължително
- Имената на редовете трябва да бъдат уникални
- Броят на елементите във всяка колона трябва да е еднакъв
Стъпки за създаване на рамки за данни в R
Нека започнем със създаването на рамка от данни, която е обяснена по-долу,
Стъпка 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)
Когато стартираме този код, ще получим кадър с данни като този.
изход:
Тук в нашия пример рамката с данни е много малка, но в реалния живот, докато се занимаваме с проблема, имаме много данни. Така че за да разберем структурата на данните, ние предаваме функцията Str ().
Стъпка 2: Добавяме следния ред в нашия код.
Код:
Str(tenthclass)
Когато стартираме целия код, ще получим изход.
изход:
Горният изход означава, че имаме 5 наблюдения на 3 променливи. Тогава тя обяснява типа данни на всяка променлива. Както в нашия пример номерът на ролката е цяло число, името е символ и маркировките са номерирани.
След като разберем структурата на данните, тогава ще предадем по-долу споменатия код, за да разберем данните по-статистически.
Стъпка 3: Сега ще използваме обобщение () функция
Код:
summary(tenthclass)
изход:
Обобщението осигурява по-добро разбиране на нашите данни. Ще ни каже да означава, средно, четворно, Макс и Мин. Тези неща ще ни помогнат да вземем по-добро решение.
Как да извлечете данни от рамки от данни в R?
Тук ще продължим горния случай. Да предположим, че искаме да знаем името на ученика в десети клас, просто име. И така, как ще извлечем?
Нашата рамка от данни изглежда така.
roll_number Именни марки
1 1 Йоан 77
2 2 Сам 87
3 3 Кейси 45
4 4 Роналд 68
5 5 Матей 95
За да получим името като изход, ще предадем следния код.
Код:
onlyname = tenthclass$Name
print(onlyname)
изход:
Тук, ако разбием кода, просто поставяме знака за долар между името на нашия кадър с данни и името на променливата, която искаме като изход.
Сега помислете за ситуация, учителят иска да знае всичко за ролка номер 2, каквото е името му и колко е вкарал.
Тук имаме нужда от всичко за ролка номер 2, така че ще предадем по-горе споменатия код.
Код:
result_rollnumber2 = tenthclass(c(2), c(1:3)) print(result_rollnumber2)
изход:
Разгънете в рамки от данни
Кадърът с данни може да бъде увеличен и намален по размер чрез добавяне или изтриване на колони и редове.
1. Добавете ред
Имаме два кадъра с данни. Един кадър с данни принадлежи към клас десети раздел A, а другият кадър от данни принадлежи към клас десети раздел B. Сега тези различни секции се сливат в един клас.
Пример №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: функция rbind ()
Сега трябва да обединим и двата класа в един клас. Тук ще използваме функция rbind (). Единственото ограничение при добавянето на нов ред е, че трябва да въведем новите редове в същата структура като съществуващата рамка от данни.
Код:
new_tenthclass = rbind(tenthclass_sectionA, tenthclass_sectionB)
print(new_tenthclass)
изход:
2. Добавете колона
Сега помислете за случай, в който трябва да добавим данни за кръвната група на всеки ученик от 10. клас. Ще добавим нова колона за него и ще я наречем „Blood_group“.
Нашата рамка от данни изглежда така.
Код:
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)
изход:
Преминавайки командата NULL, можем директно да премахнем променливата от нашия кадър с данни.
2. Изтриване на реда
Код:
print(tenthclass)
изход:
Сега помислете за ситуация, при която не се нуждаем от марки на Джон, така че трябва да премахнем най-горния ред.
Код:
tenthclass = tenthclass(-1, ) print(tenthclass)
изход:
Актуализиране на данни в Data Frame
Код:
print(tenthclass)
изход:
Да предположим, че Сам е отбелязал 98 марки, но според нашите рамкови данни са 87. Така че можем да предадем по-долу кода, за да го поправим.
Код:
tenthclass$Marks(2) = 98
print(tenthclass)
изход:
заключение
Кадрите от данни са много често срещана форма на формулировката на проблема. Това е списък на променливата от същия брой редове с уникални идентификатори на ред. Тази статия ни помага да знаем как можем да добавим ред, добавяне на колона, изтриване на ред, изтриване на колона от рамката с данни и също така казва как можем да актуализираме данните в рамката с данни.
Препоръчителни статии
Това е ръководство за рамки от данни в R. Тук обсъждаме различните стъпки за създаване на рамки от данни и как да извлечете данни от рамки от данни в R. Можете също да разгледате следните статии, за да научите повече-
- Топ 5 вида данни в R
- Списък с полезни R пакети
- R CSV файлове
- Функции на програмата R - Значение
- Фактор в R с предимства