R for Big Data
Материал из Поле цифровой дидактики
| Описание | R для обработки больших данных |
|---|---|
| Область знаний | Информатика, Большие данные |
| Область использования (ISTE) | Computational Thinker |
| Возрастная категория | 14
|
| Поясняющее видео | |
| Близкие рецепту понятия | |
| Среды и средства для приготовления рецепта: | R, Spark |
Перечень рецептов
Из книг:
- R for Data Science
- Big Data with R
- Introductory Statistics for Economics
- Learning analytics methods and tutorials: A practical guide using R
data.table: Быстрая фильтрация и группировка
Этот код создает таблицу с 10 миллионами строк и за доли секунды вычисляет среднее значение для каждого из десяти сегментов данных.
// library(data.table)
# Создание data.table
dt <- data.table(id = 1:1e7, value = runif(1e7))
# Фильтрация строк (i) и вычисление среднего (j) по группам (by)
result <- dt[value > 0.5, .(avg_value = mean(value)), by = .(id %% 10)]
head(result)
dtplyr: dplyr для огромных данных
Вы пишете привычный dplyr-код, а пакет dtplyr переводит его в высокопроизводительный data.table.
// library(dtplyr)
library(dplyr, warn.conflicts = FALSE)
# Ленивая операция: код переводится в data.table, но данные не загружаются
lazy_dt <- lazy_dt(dt)
result <- lazy_dt %>%
filter(value > 0.5) %>%
group_by(group = id %% 10) %>%
summarise(avg_value = mean(value))
# Момент выполнения: data.table выполняет запрос
result_df <- as.data.frame(result)
head(result_df)
