Ste*_*rdi 1 performance r apply
我试图提高脚本的效率,基本上,我运行一些线性回归,并且对于每个拟合模型,我将估计的系数和标准误差结果存储在先前创建的数据帧中results.
因此,results在存储任何回归系数之前,数据框已经具有所需的尺寸.
此外,i我做的每一次回归:
mod.fit <- plm(y ~ x1 + x2, index="group", sample)
Run Code Online (Sandbox Code Playgroud)
然后我跑:
results[i,1] <- summary(m.fit)$coefficients[1,1]
results[i,2] <- summary(m.fit)$coefficients[2,1]
results[i,3] <- summary(m.fit)$coefficients[1,2]
results[i,4] <- summary(m.fit)$coefficients[2,2]
Run Code Online (Sandbox Code Playgroud)
有没有办法让上述存储步骤更快?
.
您可以使用矩阵索引:
results[i,1:4] <- summary(m.fit)$coefficients[matrix(c(1,2,1,2,1,1,2,2),ncol=2)]
Run Code Online (Sandbox Code Playgroud)
如果results只有4列宽,则可以消除1:4左侧的列.
交替
results[i,] <- summary(m.fit)$coefficients[1:2,1:2]
Run Code Online (Sandbox Code Playgroud)
应该工作,因为R以列优先的顺序存储矩阵.
我鼓励你使用coef()访问器,而不是$coefficients,如果它是为summary.plm类定义的...