R LanguageТаблица данных


Вступление

Data.table - это пакет, который расширяет функциональные возможности фреймов данных из базы R, особенно улучшая их производительность и синтаксис. Подробную информацию см. В разделе «Документы» пакета в разделе « Начало работы с data.table» .

Синтаксис

  • DT[i, j, by]
    # DT [где, выберите | update | do, by]
  • DT[...][...]
    # цепочка
  • ################# Shortcuts, special functions and special symbols inside DT[...]
  • . ()
    # в нескольких аргументах, заменяет список ()
  • J ()
    # in i, заменяет список ()
  • знак равно
    # in j, функция, используемая для добавления или изменения столбцов
  • .N
    # в i, общее количество строк
    # в j, количество строк в группе

  • # in j, вектор номеров строк в таблице (отфильтрованный i)
  • .sd
    # в j, текущее подмножество данных
    #, выбранный аргументом .SDcols
  • .grp
    # в j, текущий индекс подмножества данных
  • .ОТ
    # в j, список по значениям для текущего подмножества данных
  • V1, V2, ...
    # имена по умолчанию для неназванных столбцов, созданных в j
  • ################# Joins inside DT[...]
  • DT1 [DT2, on, j]
    # присоединиться к двум таблицам
  • я.*
    # специальный префикс на столбцах DT2 после объединения
  • от = .EACHI
    # специальный вариант доступен только с присоединением
  • DT1 [! DT2, on, j]
    # анти-объединение двух таблиц
  • DT1 [DT2, on, roll, j]
    # присоединиться к двум таблицам, перекатывая последний столбец в on =
  • ################# Reshaping, stacking and splitting
  • расплав (DT, id.vars, measure.vars)
    # преобразовать в длинный формат
    # для нескольких столбцов, используйте measure.vars = patterns (...)
  • dcast (DT, формула)
    # преобразовать в широкий формат
  • rbind (DT1, DT2, ...)
    # stack перечислены data.tables
  • rbindlist (DT_list, idcol)
    # стек список data.tables
  • split (DT, by)
    # разбить таблицу data.table в список
  • ################# Some other functions specialized for data.tables
  • foverlaps
    # перекрытие объединяется
  • сливаться
    # другой способ соединения двух таблиц
  • задавать
    # другой способ добавления или изменения столбцов
  • fintersect, fsetdiff, funion, fsetequal, уникальный, дублированный, anyDuplicated
    # операции теории множеств со строками как элементами
  • uniqueN
    # количество отдельных строк
  • rowidv (DT, cols)
    # row ID (от 1 до .N) в каждой группе, определяемой cols
  • rleidv (DT, cols)
    # идентификатор группы (от 1 до .GRP) в каждой группе, определяемый циклами cols
  • shift (DT, n, type = c ("lag", "lead"))
    # применить оператор сдвига к каждому столбцу
  • setorder, setcolorder, setnames, setkey, setindex, setattr
    # изменять атрибуты и порядок по ссылке

замечания

Установка и поддержка

Чтобы установить пакет data.table:

# install from CRAN
install.packages("data.table")       

# or install development version 
install.packages("data.table", type = "source", repos = "http://Rdatatable.github.io/data.table")

# and to revert from devel to CRAN, the current version must first be removed
remove.packages("data.table")
install.packages("data.table")

На официальном сайте пакета есть страницы вики, которые помогают начать работу, а также списки презентаций и статей со всего Интернета. Прежде чем задавать вопрос - здесь, в StackOverflow или где-либо еще - прочитайте страницу поддержки .

Загрузка пакета

Многие функции в приведенных выше примерах существуют в пространстве имен data.table. Чтобы использовать их, вам нужно сначала добавить строку, такую ​​как library(data.table) или использовать полный путь, например data.table::fread а не просто fread . Для помощи по отдельным функциям синтаксис - это help("fread") или « ?fread . Опять же, если пакет не загружен, используйте полное имя типа ?data.table::fread .

Таблица данных Связанные примеры