【发布时间】:2020-01-31 00:57:42
【问题描述】:
我想将一个数据表随机拆分为 n 个输出;然后我想为每个列表编写这些输出。因此,在测试中,我想为测试中的每个列表编写一个文件。
library(data.table)
set.seed(100)
dt <- data.table(x=rnorm(1000))
n <- 10 # number of data sets
# randomly splits dt into n number of outputs
test <- split(dt, sample(1:n, nrow(dt), replace=T))
# writing tables for each sublist within test
# write.table(test)
# names <- paste0("output", n, ".txt", sep="")
【问题讨论】:
-
也许是
dt[, fwrite(.SD, paste0(.BY, ".csv")), sample(1:n, nrow(dt), replace=TRUE)] -
你可以遍历'test'
lapply(names(test), function(nm) fwrite(test[[nm]], paste0("output", nm, ".txt')))的名字 -
有什么办法不在输出文件中包含每个列表的标题?
标签: r split data.table write.table