Looking for data.table Answers? Try Ask4KnowledgeBase
Looking for data.table Keywords? Try Ask4Keywords

data.tabledata.tableを使い始める


備考

Data.tableは、R統計的コンピューティング環境用のパッケージです。ベースRからのデータフレームの機能を拡張し、特にパフォーマンスと構文を向上させます。ローリングおよび非等価結合を含む多くの関連タスクは、 DT[where, select|update|do, by]ような一貫性のある簡潔な構文で処理さDT[where, select|update|do, by]

多くの補完的な機能もパッケージに含まれています:

  • I / O: fread / fwrite
  • dcastmelt / 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

はじめにとヘルプを見つける

パッケージの公式Wikiにはいくつかの重要な資料があります:

個々の関数のヘルプについては、構文はhelp("fread") または?fread です。パッケージがロードされていない場合は、 ?data.table::fread ようなフルネームを使用します。

インストールとセットアップ

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")
 

完全なインストール手順と最新のバージョン番号については、Webサイトを参照してください

パッケージの使用

通常、パッケージとそのすべての機能を次のような行でロードしたいと思うでしょう。

library(data.table)
 

1つか2つの関数だけが必要な場合は、代わりにdata.table::fread ように参照できます。

構文と機能

基本的な構文

DT[where, select|update|do, by] 構文は、data.tableの列を処理するために使用されます。

  • "where"部分がi 引数です。
  • "select | update | do"部分はj 引数です

これらの2つの引数は、通常、名前ではなく位置によって渡されます。

一連のステップをDT[...][...] ようにチェーンすることができます。

DT[...] 内のショートカット、特殊機能と特殊記号DT[...]

機能またはシンボルノート
.() いくつかの引数で、 list()
J() i では、 list() 置き換えlist()
:= j では、列を追加または変更するための関数
.N i では、行の総数
j では、グループ内の行数
.I j において、テーブル内の行番号のベクトル( i フィルタリングされた)は、
.SD j では、データの現在のサブセット
.SDcols 引数で選択された
.GRP j では、データのサブセットの現在のインデックス
.BY j では、データの現在のサブセットのby値のリスト
V1, V2, ... j 作成された名前のない列のデフォルト名

DT[...] 中に参加するDT[...]

記法ノート
DT1[DT2, on, j] 2つのテーブルを結合する
i.* 結合後のDT2の列の特別な接頭辞
by=.EACHI 特殊オプションは結合でのみ使用可能
DT1[!DT2, on, j] 2つのテーブルの結合を防止する
DT1[DT2, on, roll, j] 2つのテーブルを結合し、最後の列をon=

再形成、積み重ね、分割

記法ノート
melt(DT, id.vars, measure.vars) 長い形式に変換する
複数の列の場合は、 measure.vars = patterns(...) 使用しmeasure.vars = patterns(...)
dcast(DT, formula) ワイドフォーマットに変換する
rbind(DT1, DT2, ...) 列挙されたデータを積み重ねる
rbindlist(DT_list, idcol) data.tablesのリストをスタックする
split(DT, by) data.tableをリストに分割する

data.tablesに特化した他の関数

関数) ノート
foverlaps オーバーラップジョイン
merge 2つのテーブルを結合する別の方法
set 列を追加または変更する別の方法
fintersectfsetdiff
funionfsetequal
uniqueduplicatedanyDuplicated
行を要素とする集合理論操作
CJ ベクトルのデカルト積
uniqueN 個別の行の数
rowidv(DT, cols) 列によって決定される各グループ内の行ID(1〜N)
rleidv(DT, cols) colsの実行によって決定される各グループ内のグループID(1〜.GRP)
shift(DT, n) すべての列にシフト演算子を適用する
setordersetcolorder
setnamessetkeysetindex
setattr
参照によって属性および順序を変更する

パッケージのその他の機能

特徴ノート
IDateITime 整数の日付と時刻