我使用一些big.___()
包在 R 中使用了一个大型数据集。大约 10 gigs (100mmR x 15C),看起来像这样:
Price Var1 Var2
12.45 1 1
33.67 1 2
25.99 3 3
14.89 2 2
23.99 1 1
... ... ...
我正在尝试根据 Var1 和 Var2 预测价格。
我提出的问题是 Var1 和 Var2 是分类/因子变量。
Var1 和 Var2 各有 3 个级别(1,2 和 3)但数据集中只有 6 个组合
(1,1; 1,2; 1,3; 2,2; 2,3; 3,3)
要在其中使用因子变量,biglm()
它们必须存在于使用的每个数据块中biglm
(我的理解是,biglm
将数据集分解为“x”个块,并在分析每个块后更新回归参数,以便绕过处理数据集大于 RAM)。
我试图对数据进行子集化,但我的计算机无法处理它或者我的代码错误:
bm11 <- big.matrix(150000000, 3)
bm11 <- subset(x, x[,2] == 1 & x[,3] == 1)
上面给了我一堆这些:
Error: cannot allocate vector of size 1.1 Gb
有人对解决此问题有任何建议吗?
我在带有 4 GB RAM 的 Windows 7 机器上使用 R 64 位。