我试图在大约34,000个观测值的面板数据集上运行汇总的OLS回归。在R中调用lm()时,这个过程需要永远,并最终消耗超过30GB的内存(因此,它在估计回归时会超出RAM)。事实上,由于计算机几乎崩溃,我不得不强制退出程序。
当我在Stata中运行完全相同的回归(在同一数据集上)时,此过程大约需要1秒钟。我不跟踪这里发生的事情,我做错了什么?
R代码:
pooled1=lm(ret ~ l_ret + l_btm + l_roe, data=panel)
Stata代码:
reg ret l_ret l_btm l_roe, r
答案 0 :(得分:0)
您的$l_ret
变量是一个字符向量。尝试将其转换为数字向量Panel$l_ret <- as.numeric(Panel$l_ret)
,然后再次运行分析。您的data.frame也是tibble
对象。这不应该降低R速度,但您可能还想尝试将Panel
转换为data.frame以最大限度地减少干扰。您可以Panel <- as.data.frame(Panel)
执行此操作。