R for Big Data: различия между версиями
Материал из Поле цифровой дидактики
Patarakin (обсуждение | вклад) Нет описания правки |
Afonbro (обсуждение | вклад) |
||
| Строка 12: | Строка 12: | ||
# [[Introductory Statistics for Economics]] | # [[Introductory Statistics for Economics]] | ||
# [[Learning analytics methods and tutorials: A practical guide using R]] | # [[Learning analytics methods and tutorials: A practical guide using R]] | ||
==== data.table: Быстрая фильтрация и группировка ==== | |||
Этот код создает таблицу с 10 миллионами строк и за доли секунды вычисляет среднее значение для каждого из десяти сегментов данных. | |||
<syntaxhighlight lang="java"> | |||
// 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) | |||
</syntaxhighlight> | |||
==== dtplyr: dplyr для огромных данных ==== | |||
Вы пишете привычный dplyr-код, а пакет dtplyr переводит его в высокопроизводительный data.table. | |||
<syntaxhighlight lang="java"> | |||
// 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) | |||
</syntaxhighlight> | |||
Текущая версия от 23:32, 6 апреля 2026
| Описание | 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)
