Вам просто нужно заглянуть внутрь plm:::summary.plm
, чтобы увидеть, что он делает. Когда вы это сделаете, вы увидите, что две строки, вызывающие summary()
в вашей модели, могут быть заменены на:
coefficients_estimated <- coef(regression)
ses_estimated <- sqrt(diag(vcov(regression)))
Например:
require(plm)
data("Produc", package = "plm")
zz <- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp,
data = Produc, index = c("state","year"))
summary(zz)
дает:
> summary(zz)
Oneway (individual) effect Within Model
....
Coefficients :
Estimate Std. Error t-value Pr(>|t|)
log(pcap) -0.02614965 0.02900158 -0.9017 0.3675
log(pc) 0.29200693 0.02511967 11.6246 < 2.2e-16 ***
log(emp) 0.76815947 0.03009174 25.5273 < 2.2e-16 ***
unemp -0.00529774 0.00098873 -5.3582 1.114e-07 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
....
и две строки, которые я показал, возвращаются для zz
:
> coef(zz)
log(pcap) log(pc) log(emp) unemp
-0.026149654 0.292006925 0.768159473 -0.005297741
> sqrt(diag(vcov(zz)))
log(pcap) log(pc) log(emp) unemp
0.0290015755 0.0251196728 0.0300917394 0.0009887257
Вы на самом деле не предоставляете достаточно информации (например, свой код симуляции или полный вывод из Rprof()
), чтобы сказать, поможет ли это - это, конечно, не похоже, что в * 1018 тратится огромное количество времени. ; FUN
намного дороже, чем все, что вы показываете, и из элементов, которые вы показываете, r.squared()
- единственный, который появляется в plm:::summary.plm()
, и, похоже, совсем не занимает времени.
Итак, заметно ли ускорение вышеизложенного, еще неизвестно.