コースへようこそ!

R の data.table によるデータ操作

Matt Dowle and Arun Srinivasan

Instructors, DataCamp

data.tableとは?

  • 拡張されたdata.frame
    • data.frameを継承・拡張
  • 列指向のデータ構造
  • 各列は同じ長さ、異なる型も可
R の data.table によるデータ操作

data.tableを使う理由

  • 簡潔で一貫した構文
    • グループで考える
    • それぞれにプレースホルダーを提供
# General form of data.table syntax
DT[i, j, by]
   |  |  |
   |  |  --> grouped by what?
   |  -----> what to do?
   --------> on which rows?
R の data.table によるデータ操作

ベンチマーク

R の data.table によるデータ操作

data.tableを使う理由

R の data.table によるデータ操作

data.tableの作成

データテーブルの作成方法(3種類):

  • data.table()
  • as.data.table()
  • fread()
R の data.table によるデータ操作

data.tableの作成

library(data.table)
x_df <- data.frame(id = 1:2, name = c("a", "b"))
x_df
id name
 1    a
 2    b
x_dt <- data.table(id = 1:2, name = c("a", "b"))
x_dt
id name
 1    a
 2    b
R の data.table によるデータ操作

data.tableの作成

y <- list(id = 1:2, name = c("a", "b"))
y
$id
1 2
$name
"a" "b"
x <- as.data.table(y)
x
id name
 1    a
 2    b
R の data.table によるデータ操作

data.tableとdata.frame(I)

data.tableはdata.frameでもあるため ...

x <- data.table(id = 1:2, 
                name = c("a", "b"))
x
id name
 1    a
 2    b
class(x)
"data.table" "data.frame"
R の data.table によるデータ操作

data.tableとdata.frame(II)

data.frameに使用できる関数はdata.tableでも動作する

nrow(x)
2
ncol(x)
2
dim(x)
2 2
R の data.table によるデータ操作

data.tableとdata.frame(III)

文字列列を自動的にファクターに変換しない

x_df <- data.frame(id = 1:2, name = c("a", "b"))
class(x_df$name)
"factor"
x_dt <- data.table(id = 1:2, name = c("a", "b"))
class(x_dt$name)
"character"
R の data.table によるデータ操作

data.tableとdata.frame(IV)

行名を設定・使用・必要としない

rownames(x_dt) <- c("R1", "R2")
x_dt
   id name
1:  1    a
2:  2    b
R の data.table によるデータ操作

練習しましょう!

R の data.table によるデータ操作

Preparing Video For Download...