Перетворення Даних
Трансформація даних — це ключовий етап підготовки сирих даних до аналізу. Вона включає зміну, додавання або перекодування змінних для того, щоб зробити дані більш змістовними та придатними для аналізу.
Створення нових стовпців
Поширеною трансформацією є обчислення нових показників на основі існуючих стовпців. Наприклад, можна розрахувати ціну за кілометр, щоб оцінити економічність транспортного засобу.
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"
))
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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
Перетворення Даних
Свайпніть щоб показати меню
Трансформація даних — це ключовий етап підготовки сирих даних до аналізу. Вона включає зміну, додавання або перекодування змінних для того, щоб зробити дані більш змістовними та придатними для аналізу.
Створення нових стовпців
Поширеною трансформацією є обчислення нових показників на основі існуючих стовпців. Наприклад, можна розрахувати ціну за кілометр, щоб оцінити економічність транспортного засобу.
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"
))
Дякуємо за ваш відгук!