如何在R中使用引导程序计算标准错误?

时间:2019-02-11 18:26:57

标签: r

我有一个矩阵“ num”,其中包含带有以下示例数据的解释变量:

Intercept   Num1   Num2  Num3
1           1.20   0     5.46
1           2.39   1     2.95
1           1.93   1     13.44
1           1.30   0     3.05
1           2.37   1     3.55

我还有一个矩阵“ succ”,其中包含因变量以及以下示例数据:

succ
2.69
-0.71
1.96
-6.95
2.61

我正在对succ进行succ回归。我正在尝试创建一个自举函数来计算每个解释变量的回归标准误差,以了解标准误差与线性回归相比有何不同。我不想使用“启动”包。

我尝试创建以下功能:

custom.boot <- function(times, data) {
  boots <- rep(NA, times)
  for (i in 1:times) {
    boots[i] <- sd(sample(data, length(data), 
                   replace=TRUE)/sqrt(length(data)))  
  }
  boots
}

但是,我被困在这里,因为我知道如果我只运行就无法获得所需的值

custom.boot(1000, num)

我只想收到如下输出:

var        std. errors
Intercept  ###
Num1       ###
Num2       ###
Num3       ###

对于每种引导方法,根据我运行的复制数量,这些方法应略有不同。我需要在代码中进行哪些更改才能获得此输出?

1 个答案:

答案 0 :(得分:0)

根据原始问题和评论,您可以尝试像这样进行平均,以得出每次复制的平均SE(使用{{1}上的sapplysd作为sd }不再有效):

data.frames