在现有数据帧中存储有效的回归系数

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)

有没有办法让上述存储步骤更快?

.

Ben*_*ker 6

您可以使用矩阵索引:

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类定义的...