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