【发布时间】:2014-05-10 07:55:32
【问题描述】:
我有一个巨大的数据框。我根据两列对所有数据进行分组当我将lm 函数与ddply 一起使用时,我收到错误Error: cannot allocate vector of size 8.4 Mb
。但是,当我将它用于mean 的其他功能时,它可以完美运行。
你能建议我解决这个问题吗,也许是另一个函数而不是ddply?
顺便说一句,我已经使用了最大限制
memory.limit(size=4000)
这是一个例子:
a<- seq(1, 1000, 1)
b<- seq(2,1001,2)
c<- c(rep(1,250), rep(2, 250), rep(3,250), rep(4,250))
d<- c(rep(5,250), rep(6, 250), rep(7,250), rep(8,250))
df<-data.frame(a,b,c,d)
dafr<-dlply( df, .(c,d ) , lm, formula= (a~b ))
我将数据框转换为data.table 的经验有所帮助,但我不知道如何在data.table 框架中使用lm。
感谢关注。
【问题讨论】:
-
您能否详细说明您的最终目标?另外,什么是“巨大”(有多少组,组的大小)?也许您可以在
lm中将参数model和qr设置为FALSE。 -
基本上我有两千家公司,五年日回报率。我希望在某个市场指数上回归每家公司一年的每日回报(大约 250 obs)。我想得到各自的回归系数。
标签: r data.table lm