R for Big Data

Материал из Поле цифровой дидактики
Версия от 23:32, 6 апреля 2026; Afonbro (обсуждение | вклад) (Перечень рецептов)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Описание R для обработки больших данных
Область знаний Информатика, Большие данные
Область использования (ISTE) Computational Thinker
Возрастная категория 14


Поясняющее видео
Близкие рецепту понятия
Среды и средства для приготовления рецепта: R, Spark

Перечень рецептов

Из книг:

  1. R for Data Science
  2. Big Data with R
  3. Introductory Statistics for Economics
  4. 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)