加快R中的felm命令(lfe库)

时间:2017-04-09 01:13:06

标签: r performance regression linear-regression panel-data

我正在使用felm库中的lfe,并且在使用大型数据集时遇到了严重的速度问题。我的意思是1亿行。我的数据由一个因变量和五个分类变量(因子)组成。我正在运行没有协变量的回归,只有因素。

felm算法不会收敛。我还尝试了this短篇文章中使用的一些技巧,但没有改进。我的代码如下:

library(lfe)
my_data=read.csv("path_to//data.csv")
attach(data.frame(my_data))

lev1 = unique(my_data$fac1)
my_data$fac1 <- factor(my_data$fac1, levels = lev1)
lev2 = unique(my_data$fac2)
my_data$fac2 <- factor(my_data$fac2, levels = lev2)
lev3 = unique(my_data$fac3)
my_data$fac3 <- factor(my_data$fac3, levels = lev3)

现在我运行回归,没有协变量(因为我只对残差感兴趣),并且交互如下:

est <- felm(y ~ 0|fac1:fac2+fac1:fac3, my_data)

这条线需要永远而且不会收敛。请注意其尺寸如下:

  • fac1有大约6000个唯一值
  • fac2有大约100个唯一值
  • fac3有大约10个唯一值

(记住有1亿行)。我怀疑使用这些因素一定有问题,因为我认为R应该能够处理这样的大小(stata的reghdfe命令可以毫无问题地处理它)。任何建议都非常感谢。

0 个答案:

没有答案