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 | целочисленные даты и время |