【发布时间】:2016-01-12 03:55:12
【问题描述】:
我正在使用 R 中的 fread 包来读取一个包含 6 亿行和 2 列的非常大的数据集。数据读取正常,但是当我对表执行转置操作时,出现内存错误。转置后的数据集将有大约 400 万行和 20,000 列。
代码:
library(data.table)
#read in data
data = fread("C:/Users/User12/Desktop/train.tsv")
t1 = table(data$Y,data$X)
当我运行上面的代码时,我得到一个内存错误。有没有一种智能方法可以在这个大型数据集上创建频率表?
原始表格示例:
data <-
setDT(read.table(text="X Y
4 5
4 6
4 7
5 5
5 6
5 9", header = T))
我想要的输出:
> data[,table(Y,X)]
X
Y 4 5
5 1 1
6 1 1
7 1 0
9 0 1
【问题讨论】:
标签: r data.table