Заняття 7. Пакет data.table: практичне застосування
Функції: setkey. Конструкції з on=.
Завдання для самостійної роботи:
1. Розібрати він'єтку Keys and fast binary search based subset
https://cran.r-project.org/web/packages/data.table/vignettes/datatable-keys-fast-subset.html
2. Для датасету flights з вінєток до пакету порівняти швидкість(пакет microbenchmark) фільтрування рядків за допомогою data.table та data.frame за умовою origin == "JFK", та dest одне з перших трьох значень цього стовпчика, взятих у алфавітному порядку.
3. Модифікувати попереднє порівняння для довільної підмножини можливих значень у стовпчику dest. Отримати чисельні результати для фіксованої випадкової підмножини з 10 елементів.
4. Для датасету
N <- 10000
dt <- data.table(
n = 1:N,
name = replicate(N, paste0(sample(LETTERS, 5, replace = TRUE), collapse = "")),
p1 = rnorm(N, 0, 1),
p2 = rpois(N, 1))
порівгяти швидкість заміни значень i у стовпчику p2, де i - номер студента у групі на -1 для заміни за допомогою data.frame та data.table з оператором присвоювання.
5. Для датасету з попереднього завдання послідовно змінюючи стовпчик p2 заміною зростаючої кількості випадкових елементів на -1 визначити кількість елементів для заміни, починаючи з якої тест на рівність медіан почне показувати відмінність медіани вихідного стовпчика із медіаною модифікованого стовпчика. Рівень значущості взяти стандартний 0,05.