首页 > 解决方案 > 多个样本的 R 回归

问题描述

我正在使用 R

我有一个面板数据集,包含 250 个人随时间推移的约 5000 次观察结果。

我需要在差异回归中建立差异,因此我为每个人绘制一个随机观察结果并运行回归:

lm(x ~ x1 + x2 + ... , data = ddply(df,.(individual),function(x) x[sample(nrow(x),1),]))

在得到的样本上。

我需要计算n 个n不同随机样本的回归时间并计算每个估计器的平均值。

n有没有办法在不手动计算和平均回归的情况下有效地做到这一点?

标签: rregressionplyrlmsampling

解决方案


解决了:

我希望找到一个特定的包来执行此操作,但我构建了一个函数。例如,对于 n = 700

fun <- function(alfa){
  alfa <-ddply(df,.(individual),function(x) x[sample(nrow(x),1),])
  beta <- lm(x ~ x1 + x2 + ... , data = alfa )$coefficients
  return(beta)
}

df.full <- replicate(700,fun(alfa))

这样就创建了一个包含 700 行的数据集,系数名称为行。我什至可以做这样的事情:

fun <- function(alfa){
  alfa <-ddply(df,.(individual),function(x) x[sample(nrow(x),1),])
  beta <- lm(x ~ x1 + x2 + ... , data = alfa)
  gamma <- summary(beta)[["coefficients"]][,1]
  return(gamma)

}

df.full <- replicate(700,fun(alfa))

将 [,1] 更改为 [,2] 我将获得标准错误。在此之后,手段的计算直接跟随。


推荐阅读