Модульні уроки (1/2)
Кадри даних
На відміну від матриць, які можуть містити лише елементи одного типу, Кадри даних представляють найбільш широко використовувану табличну структуру даних у R для аналізу даних реального світу.
Кадр даних — це таблиця, у якій кожен стовпець може містити різні типи даних (наприклад, числовий стовпець, текстовий стовпець і логічний стовпець), але всі стовпці повинні мати однакову довжину.
Створення фрейму даних
Щоб створити фрейм даних, скористайтеся функцією data.frame(), визначивши назви стовпців і призначивши їм вектори:
# Create a sample data frame
students <- data.frame(
name = c("Alice", "Bob", "Charlie"),
grade = c(28, 24, 30),
passed = c(TRUE, TRUE, TRUE)
)
print(students)Доступ до стовпців і рядків
Є кілька способів видобувати та маніпулювати даними у кадрі даних:
- Використання оператора долара
$: дозволяє видобувати один стовпець як вектор.Rgrades <- students$grade # grades will be the vector c(28, 24, 30) - Використання квадратних дужок
[row, column]: Подібно до матриць.R# First student (first row) first_student <- students[1, ]
Фільтрування даних
Однією з сильних сторін R є здатність фільтрувати записи на основі логічних умов:
# Select only students with grade greater than 25
good_students <- students[students$grade > 25, ]
print(good_students)Розміри та модифікація кадрів даних
Щоб знайти розміри кадру даних (кількість рядків і стовпців), ми можемо скористатися функцією dim():
# Returns a vector with two elements: c(rows, columns)
dimensions <- dim(students)Ми також можемо додавати нові стовпці або оновлювати існуючі безпосередньо за допомогою оператора $:
# Adds a column with grades increased by 2 points
students$bonus_grade <- students$grade + 2Спробуйте самі
Створіть фрейм даних із іменем студентів, що містить два стовпці: ім’я (зі значеннями «Аліса» та «Боб») та оцінка (зі значеннями 28 і 24).
Показати підказку
Використовуйте функцію data.frame: students <- data.frame(name = c('Alice', 'Bob'), grade = c(28, 24))
Рішення доступне після 3 спроб
Враховуючи студентів Data Frame, витягніть стовпець оцінки за допомогою оператора $ і збережіть його в змінній grades_vector.
Показати підказку
Використання оператора $: grades_vector <- students$grade
Рішення доступне після 3 спроб
Відфільтруйте студентів кадру даних, щоб включити лише студентів із оцінкою, що перевищує або дорівнює 26, зберігаючи результат у good_students.
Показати підказку
Використовуйте students[students$grade >= 26, ], не забуваючи про кому, щоб вибрати всі стовпці.
Рішення доступне після 3 спроб
Дано кадр даних df, отримайте його розміри за допомогою функції dim() і збережіть їх у змінній df_dim.
Показати підказку
Використовуйте функцію dim(): df_dim <- dim(df)
Рішення доступне після 3 спроб
Враховуючи інвентаризацію фрейму даних, додайте новий стовпець під назвою total_value, обчислений як добуток стовпців ціни та кількості.
Показати підказку
Використовуйте: inventory$total_value <- inventory$price * inventory$quantity
Рішення доступне після 3 спроб