Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Перетворення Даних | Маніпулювання та Очищення Даних
Аналіз Даних у R

Перетворення Даних

Свайпніть щоб показати меню

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

Створення нових стовпців

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

Base R

Новий стовпець можна створити за допомогою оператора $, визначивши його назву та присвоївши йому значення.

df$price_per_km <- df$selling_price / df$km_driven
head(df)

dplyr

Додавання нових стовпців за допомогою функції mutate(). Усередині mutate() вказується назва нового стовпця та спосіб його обчислення.

df <- df %>%
  mutate(price_per_km = selling_price / km_driven)

Перетворення та трансформація числових даних у текстовому форматі

У реальних наборах даних числова інформація часто зберігається як текст із додатковими нечисловими символами. Наприклад, значення потужності двигуна можуть виглядати як "68 bhp", які потрібно очистити та перетворити перед аналізом.

Base R

Використання gsub() для видалення зайвого тексту та застосування as.numeric() для перетворення результату у числовий формат. Після конвертації можна виконувати додаткові трансформації, наприклад, переведення brake horsepower (bhp) у кіловати.

df$max_power <- as.numeric(gsub(" bhp", "", df$max_power))
df$max_power_kw <- df$max_power * 0.7457  # convert to kilowatts

dplyr

Той самий процес можна оптимізувати всередині виклику mutate(). Можна поєднати заміну тексту, перетворення типу та створення нового стовпця в одному кроці, що робить код чистішим і легшим для читання.

df <- df %>%
  mutate(
    max_power = as.numeric(gsub(" bhp", "", max_power)),
    max_power_kw = max_power * 0.7457
  )

Категоризація даних

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

Base R

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

df$price_category <- ifelse(df$selling_price < 300000, "Low",
                            ifelse(df$selling_price < 700000, "Medium", "High"))

dplyr

Функцію case_when() можна використовувати як заміну вкладеним операторам if-else. Це дозволяє записувати кілька умов у чистому, зручному для читання форматі.

df <- df %>%
  mutate(price_category = case_when(
    selling_price < 300000 ~ "Low",
    selling_price < 700000 ~ "Medium",
    TRUE ~ "High"
  ))
question mark

Що робить mutate() у dplyr?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 9

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 1. Розділ 9
some-alt