data.table учебник
Начало работы с data.table
Поиск…
замечания
Data.table - это пакет для среды статистических вычислений R. Он расширяет функциональные возможности кадров данных из базы R, особенно улучшая их производительность и синтаксис. Ряд связанных задач, в том числе скользящих и неравновесных объединений, обрабатываются в согласованном сжатом синтаксисе, таком как DT[where, select|update|do, by] .
В комплект поставки также входит ряд дополнительных функций:
- I / O:
fread/fwrite - Перестройка:
melt/dcast/rbindlist/split - Запуск значений:
rleid
Версии
| Версия | Заметки | Дата выпуска на CRAN |
|---|---|---|
| 1.9.4 | 2014-10-02 | |
| 1.9.6 | 2015-09-19 | |
| 1.9.8 | 2016-11-24 | |
| 1.10.0 | «Оглядываясь назад, последний выпуск v1.9.8 должен был быть назван v1.10.0" | 2016-12-03 |
| 1.10.1 | В развитии | 2016-12-03 |
Установка и настройка
Установите стабильный выпуск из CRAN:
install.packages("data.table")
Или версия для разработки от github:
install.packages("data.table", type = "source",
repos = "http://Rdatatable.github.io/data.table")
Чтобы вернуться из devel в CRAN, необходимо сначала удалить текущую версию:
remove.packages("data.table")
install.packages("data.table")
Посетите веб-сайт для получения полных инструкций по установке и последних версий.
Использование пакета
Обычно вам нужно загрузить пакет и все его функции с помощью строки, например:
library(data.table)
Если вам нужны только одна или две функции, вы можете ссылаться на них как на data.table::fread .
Начало работы и поиск помощи
В официальной википедии есть некоторые существенные материалы:
Как новый пользователь, вы захотите проверить виньетки, часто задаваемые вопросы и чит-лист .
Прежде чем задавать вопрос - здесь, в StackOverflow или где-либо еще - прочитайте страницу поддержки .
Для помощи по отдельным функциям синтаксис - это help("fread") или « ?fread . Если пакет не был загружен, используйте полное имя типа ?data.table::fread .
Синтаксис и функции
Основной синтаксис
DT[where, select|update|do, by] используется для работы с столбцами таблицы данных.
- Часть «где» является аргументом
i - Часть «select | update | do» является аргументом
j
Эти два аргумента обычно передаются положением вместо имени.
Последовательность шагов может быть скована как DT[...][...] .
Ярлыки, специальные функции и специальные символы внутри DT[...]
| Функция или символ | Заметки |
|---|---|
.() | в нескольких аргументах, заменяет list() |
J() | в i , заменяет list() |
:= | в j , функция, используемая для добавления или изменения столбцов |
.N | в i общее число строк в j число строк в группе |
.I | в j , вектор номеров строк в таблице (отфильтрованный i ) |
.SD | в j , текущее подмножество данных выбранный аргументом .SDcols |
.GRP | в j , текущий индекс подмножества данных |
.BY | в j , список по значениям для текущего подмножества данных |
V1, V2, ... | имена по умолчанию для неназванных столбцов, созданных в j |
Входит в DT[...]
| нотация | Заметки |
|---|---|
DT1[DT2, on, j] | присоединиться к двум таблицам |
i.* | специальный префикс на столбцах DT2 после объединения |
by=.EACHI | специальный вариант доступен только с присоединением |
DT1[!DT2, on, j] | объединение двух таблиц |
DT1[DT2, on, roll, j] | соедините две таблицы, перекатываясь по последнему столбцу в on= |
Перестроение, укладка и разбиение
| нотация | Заметки |
|---|---|
melt(DT, id.vars, measure.vars) | преобразовать в длинный формат для нескольких столбцов используйте measure.vars = patterns(...) |
dcast(DT, formula) | преобразовать в широкий формат |
rbind(DT1, DT2, ...) | стеки перечислены data.tables |
rbindlist(DT_list, idcol) | складывать список data.tables |
split(DT, by) | разбить таблицу данных в список |
Некоторые другие функции, специализированные для data.tables
| Функция () | Заметки |
|---|---|
foverlaps | совпадение |
merge | другой способ соединения двух таблиц |
set | другой способ добавления или изменения столбцов |
fintersect , fsetdiff , funion , fsetequal , unique , duplicated , anyDuplicated | операции теории множеств со строками как элементами |
CJ | декартово произведение векторов |
uniqueN | количество отдельных строк |
rowidv(DT, cols) | ID строки (от 1 до .N) в каждой группе, определяемой cols |
rleidv(DT, cols) | идентификатор группы (от 1 до .GRP) в каждой группе, определяемый циклами cols |
shift(DT, n) | применить оператор сдвига к каждому столбцу |
setorder , setcolorder , setnames , setkey , setindex , setattr | изменять атрибуты и порядок по ссылке |
Другие функции пакета
| Характеристики | Заметки |
|---|---|
IDate и ITime | целочисленные даты и время |