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

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

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

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

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

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) у kilowatts.

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
  )

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

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

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?

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

Can you explain the difference between using Base R and dplyr for data transformation?

How do I handle non-numeric values when converting columns for analysis?

Can you show more examples of categorizing data using different criteria?

Awesome!

Completion rate improved to 4

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

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

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

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

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

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) у kilowatts.

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
  )

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

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

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?

Select the correct answer

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

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

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

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