Какво представлява рамката за данни?
А данни рамка е даден списък на вектори, които са с еднаква дължина. Матрицата съдържа само един тип данни, докато рамката за данни приема различни типове данни (числови, знакови, коефициентни и т.н.).
В този урок ще научите -
- Какво представлява рамката за данни?
- Как да създам рамка за данни
- Добавяне на колона към рамката за данни
- Изберете колона на рамка за данни
- Подгрупирайте рамка за данни
Как да създам рамка за данни
Можем да създадем кадър от данни в R, като предадем променливата a, b, c, d във функцията data.frame (). Можем R да създадем кадър от данни и да назовем колоните с name () и просто да посочим името на променливите.
data.frame(df, stringsAsFactors = TRUE)
Аргументи :
- df : Може да бъде матрица, която да се преобразува като рамка с данни или колекция от променливи, които да се присъединят
- stringsAsFactors : Конвертира низа във фактор по подразбиране
Можем да създадем кадър от данни в R за първия ни набор от данни, като комбинираме четири променливи със същата дължина.
# Create a, b, c, d variablesa <- c(10,20,30,40)b <- c('book', 'pen', 'textbook', 'pencil_case')c <- c(TRUE,FALSE,TRUE,FALSE)d <- c(2.5, 8, 10, 7)# Join the variables to create a data framedf <- data.frame(a,b,c,d)df
Изход:
## a b c d## 1 1 book TRUE 2.5## 2 2 pen TRUE 8.0## 3 3 textbook TRUE 10.0## 4 4 pencil_case FALSE 7.0
Можем да видим, че заглавките на колоните имат същото име като променливите. Можем да променим името на колоната в R с имената на функциите (). Проверете примера на R create dataframe по-долу:
# Name the data framenames(df) <- c('ID', 'items', 'store', 'price')df
Изход:
## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0## 3 30 textbook TRUE 10.0## 4 40 pencil_case FALSE 7.0
# Print the structurestr(df)
Изход:
## 'data.frame': 4 obs. of 4 variables:## $ ID : num 10 20 30 40## $ items: Factor w/ 4 levels "book","pen","pencil_case",… : 1 2 4 3## $ store: logi TRUE FALSE TRUE FALSE## $ price: num 2.5 8 10 7
По подразбиране рамката за данни връща низови променливи като фактор.
Рамка за данни на парче
Възможно е да SLICE стойности на рамка за данни. Избираме редовете и колоните, които да се върнат в скоби, предшествани от името на рамката с данни.
Рамката за данни се състои от редове и колони, df [A, B]. A представлява редовете, а B колоните. Можем да нарязваме или като посочваме редовете и / или колоните.
От снимка 1 лявата част представлява редовете, а дясната част е колоните . Имайте предвид, че символа: средство за . Например 1: 3 възнамерява да избере стойности от 1 до 3.
В диаграмата по-долу показваме как да получим достъп до различен избор на рамката за данни:
- Жълтата стрелка избира реда 1 в колона 2
- Зелената стрелка избира редовете от 1 до 2
- Червената стрелка избира колона 1
- Синята стрелка избира редовете от 1 до 3 и колоните от 3 до 4
Имайте предвид, че ако оставим лявата част празна, R ще избере всички редове . По аналогия, ако оставим дясната част празна, R ще избере всички колони .
Можем да стартираме кода в конзолата:
## Select row 1 in column 2df[1,2]
Изход:
## [1] book## Levels: book pen pencil_case textbook
## Select Rows 1 to 2df[1:2,]
Изход:
## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0
## Select Columns 1df[,1]
Изход:
## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4df[1:3, 3:4]
Изход:
## store price## 1 TRUE 2.5## 2 FALSE 8.0## 3 TRUE 10.0
Също така е възможно да изберете колоните с техните имена. Например, кодът по-долу извлича две колони: ID и съхранение.
# Slice with columns namedf[, c('ID', 'store')]
Изход:
## ID store## 1 10 TRUE## 2 20 FALSE## 3 30 TRUE## 4 40 FALSE
Добавяне на колона към рамката за данни
Можете също да добавите колона към Data Frame. Трябва да използвате символа $, за да добавите променлива на dataframe R и да добавите колона към dataframe в R.
# Create a new vectorquantity <- c(10, 35, 40, 5)# Add `quantity` to the `df` data framedf$quantity <- quantitydf
Изход:
## ID items store price quantity## 1 10 book TRUE 2.5 10## 2 20 pen FALSE 8.0 35## 3 30 textbook TRUE 10.0 40## 4 40 pencil_case FALSE 7.0 5
Забележка: Броят на елементите във вектора трябва да бъде равен на броя на елементите в рамката с данни. Изпълнение на следния оператор за добавяне на колона към рамка с данни R
quantity <- c(10, 35, 40)# Add `quantity` to the `df` data framedf$quantity <- quantity
Дава грешка:
Error in `$<-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40))replacement has 3 rows, data has 4
Изберете колона на рамка за данни
Понякога трябва да съхраним колона от рамка с данни за бъдеща употреба или да извършим операция върху колона. Можем да използваме знака $, за да изберем колоната от рамка с данни.
# Select the column IDdf$ID
Изход:
## [1] 1 2 3 4
Подгрупирайте рамка за данни
В предишния раздел избрахме цяла колона без условие. Възможно е да се подгрупа въз основа на това дали определено условие е било вярно или не.
Използваме функцията subset ().
subset(x, condition)arguments:- x: data frame used to perform the subset- condition: define the conditional statement
Искаме да върнем само артикулите с цена над 10, можем да направим:
# Select price above 5subset(df, subset = price > 5)
Изход:
ID items store price2 20 pen FALSE 83 30 textbook TRUE 104 40 pencil_case FALSE 7