R の data.table によるデータ操作
Matt Dowle, Arun Srinivasan
Instructors, DataCamp
セカンダリセパレータ(|)を使用したlist列の書き込みが可能
dt <- data.table(id = c("x", "y", "z"), val = list(1:2, 3:4, 5:6))
fwrite(dt, "fwrite.csv")
fread("fwrite.csv")
id val
x 1|2
y 3|4
z 5|6
fwrite()は日付・日時形式の書き込み方法としてISO、squash、epochの3種類を提供ISOで、ISO標準の使用を推奨now <- Sys.time()
dt <- data.table(date = as.IDate(now),
time = as.ITime(now),
datetime = now)
dt
date time datetime
2018-12-17 19:54:51 2018-12-17 14:54:51
# "ISO" is default
fwrite(dt, "datetime.csv", dateTimeAs = "ISO")
fread("datetime.csv")
date time datetime
2018-12-17 19:55:39 2018-12-17T19:55:39.735036Z
squashはyyyy-mm-dd hh:mm:ssをyyyymmddhhmmssとして書き込む20160912 %/% 10000 = 2016)freadにより自動的にinteger64として読み込まれるfwrite(dt, "datetime.csv", dateTimeAs = "squash")
fread("datetime.csv")
date time datetime
1: 20181217 195539 20181217195539735
20181217 %/% 10000
[1] 2018
epochは関連するエポックからのdays数(日付)または秒数(時刻・日時)を表すdateが1970-01-01、timeが00:00:00、datetimeが1970-01-01T00:00:00Zfwrite(dt, "datetime.csv", dateTimeAs = "epoch")
fread("datetime.csv")
date time datetime
17882 71871 1545076672
R の data.table によるデータ操作