Estoy usando R para ejecutar una simulación Monte-Carlo estudiando el rendimiento de los estimadores de datos de panel. Debido a que voy a ejecutar una gran cantidad de pruebas, necesito obtener al menos un rendimiento decente de mi código.R: evitando summary.plm
El uso de Rprof
en 10 intentos de mi simulación muestra que una gran parte del tiempo se gasta en llamadas al summary.plm
. Las primeras líneas de Rprofsummary
se proporcionan a continuación:
$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
estoy llamando summary
en mi código, ya que necesito para obtener los errores estándar de las estimaciones de los coeficientes, así como los propios coeficientes (que podría conseguir de sólo el objeto plm). Mi llamado parece
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"]
Tengo una sensación de que esto es una enorme pérdida de tiempo de CPU, pero no sé lo suficiente sobre cómo R hace cosas para evitar llamar resumen. Apreciaría cualquier información sobre lo que está sucediendo detrás de las escenas aquí, o alguna forma de reducir el tiempo que se necesita para que esto exceda.
Hmmm, una primera idea es combinar las dos llamadas de resumen. Voy a probar eso, y ver si ayuda a las cosas ... – Wilduck
La combinación de las dos llamadas de resumen ayuda bastante, pero summary.plm sigue siendo un gran cerdo. – Wilduck