【发布时间】:2020-06-10 16:20:51
【问题描述】:
我在 Stackoverflow 上发现了几个关于这个主题的问题(其中一些没有任何答案),但与回归中的这个错误没有任何关系(到目前为止)。
我在r 中运行一个概率模型(我猜)有太多固定效应(年份和地点):
myprobit <- glm(factor(Y) ~ factor(T) + factor(X1) + factor(X2) + factor(X3) +
factor(YEAR) + factor(PLACE),
family = binomial(link = "probit"),
data = DT)
PLACE 变量有大约 1000 个唯一值和YEAR 8 个值。数据集DT 有 13,099,225 个 obs 和 79 列。
我得到的错误是:
Error: cannot allocate vector of size 59.3 Gb
Error during wrapup: long vectors not supported yet: ../include/Rinlinedfuns.h:519
我使用的机器有 128 GB 的 RAM。
所以,如果不更改功能,我不知道我能做什么。有谁知道如何处理这个问题?谢谢!
【问题讨论】:
-
您可以先删除
DT中您未使用的所有额外列。但是,是的,我最好的猜测是你在构建 model.matrix 时得到了很大的分配,因为你有很多级别的因素。这个矩阵将有 1300 万行和超过 1000 列。您可以使用biglm之类的包进行探索。 -
谢谢@Axeman。我不知道那个包裹。当然,这是一个很好的起点。
标签: r bigdata out-of-memory glm