我做以下操作
library(data.table)
library(stringr)
dt <- data.table(string_column = paste(sample(c(letters, " "), 500000, replace = TRUE)
, sample(c(letters, " "), 500000, replace = TRUE)
, sample(1:500000)
, sep = " "), key = "string_column")
split_res <- dt[, list(name = unlist(str_split(string_column, '\\s+'))), by = string_column]
对于真实数据,处理dt
(10M行)并创建split_res
(18M行)需要大约1小时的时间。
出于好奇 - 是否有加速处理的方法?也许unlist + str_split
不是正确的处理方式?