在 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、epochISO,鼓励采用 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" 为默认
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 写为 yyyymmddhhmmss20160912 %/% 10000 = 2016fread 自动读为 integer64fwrite(dt, "datetime.csv", dateTimeAs = "squash")
fread("datetime.csv")
date time datetime
1: 20181217 195539 20181217195539735
20181217 %/% 10000
[1] 2018
epoch 统计自相关纪元起的天数(用于 date)或秒数(用于 time 和 datetime)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 进行数据处理