【发布时间】:2021-01-22 19:01:15
【问题描述】:
我正在使用一个大数据库,但为了便于说明,我使用的是 Grunfeld 数据
我的目标是将我的数据分成多个块,以便我的模型可以运行,否则我会耗尽内存(需要 90,000 gb)。我将splm 用于我的数据,但由于它与plm 一起使用,因此我使用后者作为示例。一旦我设法运行每个块,我将希望得到一个一般的结果。
到目前为止,我所拥有的是:
data("Grunfeld", package="plm")
Grunfeld <- pdata.frame(Grunfeld, index = c("firm","year"))
s1<-split(Grunfeld, sample(rep(1:4)))
fm <- value ~ capital
fix <- lapply(1:length(s), function(x) plm(fm, data=s1[[x]],model = "within"))
现在我有一个系数和残差列表fix
有没有一种方法可以创建一个函数,以便我的结果模拟完整数据库的解决方案而不是 4 个块?
即
Residuals:
Min. 1st Qu. Median 3rd Qu. Max.
-1299.602 -88.290 -10.197 84.142 1324.118
Coefficients:
Estimate Std. Error t-value Pr(>|t|)
capital 0.551055 0.098634 5.5869 7.971e-08 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Total Sum of Squares: 23078000
Residual Sum of Squares: 19807000
R-Squared: 0.14174
Adj. R-Squared: 0.09633
F-statistic: 31.213 on 1 and 189 DF, p-value: 7.9714e-08
【问题讨论】:
标签: r function dataframe split panel-data