我正在使用R运行蒙特卡罗模拟,研究面板数据估计器的性能。因为我将运行大量试验,所以我需要从我的代码中获得至少不错的性能。
在我的模拟的10个试验中使用Rprof显示,相当一部分时间花费在调用summary.plm上。下面提供了Rprofsummary的前几行:
在我的模拟的10个试验中使用Rprof显示,相当一部分时间花费在调用summary.plm上。下面提供了Rprofsummary的前几行:
$by.total
total.time total.pct self.time self.pct
"trial" 54.48 100.0 0.00 0.0
"coefs" 53.90 98.9 0.06 0.1
"model.matrix" 36.72 67.4 0.10 0.2
"model.matrix.pFormula" 35.98 66.0 0.06 0.1
"summary" 33.82 62.1 0.00 0.0
"summary.plm" 33.80 62.0 0.08 0.1
"r.squared" 29.00 53.2 0.02 0.0
"FUN" 24.84 45.6 7.52 13.8
我在我的代码中调用summary
,因为我需要获取系数估计的标准误差以及系数本身(我可以从plm
对象中获取)。我的调用如下:
regression <- plm(g ~ y0 + Xit, data=panel_data, model=model, index=c("country","period"))
coefficients_estimated <- summary(regression)$coefficients[,"Estimate"]
ses_estimated <- summary(regression)$coefficients[,"Std. Error"]
我有一种难以摆脱的感觉,认为这是对CPU时间的巨大浪费,但我不了解R如何处理事情,无法避免调用summary。如果您能提供有关背后发生的事情的任何信息或缩短执行时间的方法,我将不胜感激。