Перейти до основного вмісту
Модуль 2 · Урок 1 із 23/10 у курсі~12 min
Модульні уроки (1/2)

Кадри даних

На відміну від матриць, які можуть містити лише елементи одного типу, Кадри даних представляють найбільш широко використовувану табличну структуру даних у R для аналізу даних реального світу.

Кадр даних — це таблиця, у якій кожен стовпець може містити різні типи даних (наприклад, числовий стовпець, текстовий стовпець і логічний стовпець), але всі стовпці повинні мати однакову довжину.

Створення фрейму даних

Щоб створити фрейм даних, скористайтеся функцією data.frame(), визначивши назви стовпців і призначивши їм вектори:

R
# 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)

Доступ до стовпців і рядків

Є кілька способів видобувати та маніпулювати даними у кадрі даних:

  1. Використання оператора долара $: дозволяє видобувати один стовпець як вектор.
    R
    grades <- students$grade
    # grades will be the vector c(28, 24, 30)
  2. Використання квадратних дужок [row, column]: Подібно до матриць.
    R
    # First student (first row)
    first_student <- students[1, ]

Фільтрування даних

Однією з сильних сторін R є здатність фільтрувати записи на основі логічних умов:

R
# Select only students with grade greater than 25
good_students <- students[students$grade > 25, ]
print(good_students)

Розміри та модифікація кадрів даних

Щоб знайти розміри кадру даних (кількість рядків і стовпців), ми можемо скористатися функцією dim():

R
# Returns a vector with two elements: c(rows, columns)
dimensions <- dim(students)

Ми також можемо додавати нові стовпці або оновлювати існуючі безпосередньо за допомогою оператора $:

R
# Adds a column with grades increased by 2 points
students$bonus_grade <- students$grade + 2

Спробуйте самі

вправи#r.m2.l1.e1
Спроби: 0Завантаження…

Створіть фрейм даних із іменем студентів, що містить два стовпці: ім’я (зі значеннями «Аліса» та «Боб») та оцінка (зі значеннями 28 і 24).

Завантаження редактора…
Показати підказку

Використовуйте функцію data.frame: students <- data.frame(name = c('Alice', 'Bob'), grade = c(28, 24))

Рішення доступне після 3 спроб

вправи#r.m2.l1.e2
Спроби: 0Завантаження…

Враховуючи студентів Data Frame, витягніть стовпець оцінки за допомогою оператора $ і збережіть його в змінній grades_vector.

Завантаження редактора…
Показати підказку

Використання оператора $: grades_vector <- students$grade

Рішення доступне після 3 спроб

вправи#r.m2.l1.e3
Спроби: 0Завантаження…

Відфільтруйте студентів кадру даних, щоб включити лише студентів із оцінкою, що перевищує або дорівнює 26, зберігаючи результат у good_students.

Завантаження редактора…
Показати підказку

Використовуйте students[students$grade >= 26, ], не забуваючи про кому, щоб вибрати всі стовпці.

Рішення доступне після 3 спроб

вправи#r.m2.l1.e4
Спроби: 0Завантаження…

Дано кадр даних df, отримайте його розміри за допомогою функції dim() і збережіть їх у змінній df_dim.

Завантаження редактора…
Показати підказку

Використовуйте функцію dim(): df_dim <- dim(df)

Рішення доступне після 3 спроб

вправи#r.m2.l1.e5
Спроби: 0Завантаження…

Враховуючи інвентаризацію фрейму даних, додайте новий стовпець під назвою total_value, обчислений як добуток стовпців ціни та кількості.

Завантаження редактора…
Показати підказку

Використовуйте: inventory$total_value <- inventory$price * inventory$quantity

Рішення доступне після 3 спроб