Що таке фрейм даних?
Кадр даних являє собою список векторів , які мають однакову довжину. Матриця містить лише один тип даних, тоді як кадр даних приймає різні типи даних (числові, символьні, множники тощо).
У цьому підручнику ви дізнаєтесь-
- Що таке фрейм даних?
- Як створити фрейм даних
- Додайте стовпець до фрейму даних
- Виберіть стовпець кадру даних
- Підгрупувати кадр даних
Як створити фрейм даних
Ми можемо створити фрейм даних у R, передавши змінну a, b, c, d у функцію data.frame (). Ми можемо R створити фрейм даних і назвати стовпці іменем () і просто вказати ім'я змінних.
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 та store.
# Slice with columns namedf[, c('ID', 'store')]
Вихід:
## ID store## 1 10 TRUE## 2 20 FALSE## 3 30 TRUE## 4 40 FALSE
Додайте стовпець до фрейму даних
Ви також можете додати стовпець до фрейму даних. Вам потрібно використовувати символ $, щоб додати змінну dataframe R і додати стовпець до dataframe R у 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