我正在使用 R 运行蒙特卡罗模拟来研究面板数据估计器的性能。因为我将运行大量试验,所以我需要从我的代码中获得至少不错的性能。
使用Rprof
我的模拟的 10 次试验表明,大部分时间都花在调用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 是如何避免调用摘要的了解不够。我会很感激有关这里幕后发生的事情的任何信息,或者以某种方式减少执行此操作所需的时间。