data.table チュートリアル
data.tableを使い始める
サーチ…
備考
Data.tableは、R統計的コンピューティング環境用のパッケージです。ベースRからのデータフレームの機能を拡張し、特にパフォーマンスと構文を向上させます。ローリングおよび非等価結合を含む多くの関連タスクは、 DT[where, select|update|do, by]
ような一貫性のある簡潔な構文で処理さDT[where, select|update|do, by]
。
多くの補完的な機能もパッケージに含まれています:
- I / O:
fread
/fwrite
-
dcast
: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")
完全なインストール手順と最新のバージョン番号については、Webサイトを参照してください 。
パッケージの使用
通常、パッケージとそのすべての機能を次のような行でロードしたいと思うでしょう。
library(data.table)
1つか2つの関数だけが必要な場合は、代わりにdata.table::fread
ように参照できます。
はじめにとヘルプを見つける
パッケージの公式Wikiにはいくつかの重要な資料があります:
新しいユーザーとして、 ビネット、FAQ、カンニングシートをチェックしたいと思うでしょう。
個々の関数のヘルプについては、構文はhelp("fread")
または?fread
です。パッケージがロードされていない場合は、 ?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 | 列を追加または変更する別の方法 |
fintersect 、 fsetdiff 、 funion 、 fsetequal 、 unique 、 duplicated 、 anyDuplicated | 行を要素とする集合理論操作 |
CJ | ベクトルのデカルト積 |
uniqueN | 個別の行の数 |
rowidv(DT, cols) | 列によって決定される各グループ内の行ID(1〜N) |
rleidv(DT, cols) | colsの実行によって決定される各グループ内のグループID(1〜.GRP) |
shift(DT, n) | すべての列にシフト演算子を適用する |
setorder 、 setcolorder 、 setnames 、 setkey 、 setindex 、 setattr | 参照によって属性および順序を変更する |
パッケージのその他の機能
特徴 | ノート |
---|---|
IDate とITime | 整数の日付と時刻 |
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow