无法理解R的启动功能

时间:2018-02-12 21:19:28

标签: r bootstrapping variance

我想使用R&#39的引导功能来引导我在用户定义的函数中汇总的一系列敏感度索引。

在使用上述应用程序的启动功能之前,我想熟悉该功能及其使用方法。通过阅读功能引导的描述,数据源可以是向量,矩阵或数据帧。如果数据是矩阵或数据帧,则引导功能将每行视为单个多变量观察。

下面是一个使用启动函数提供两列数据方差的自举估计的简单示例。

library (boot)
#make a matrix who's rows are obs and columns are vbls
foo <- matrix (nrow = 100, ncol = 2)
set.seed (5280)
foo [,1] <- rnorm (100, 0, 1)
set.seed (5280)
foo [,2] <- rnorm (100, 10, 2)
apply (foo, 2, var) #for comparison to t0 in from the boot function
foo.var <- boot (data = foo, statistic = var, R = 1000, stype = "i",
                sim = "ordinary")

当我运行上面的代码时,我对foo [,1:2]的方差得到了非常不同的答案。使用启动功能,我得到负值(foo.var $ t0)。

有人可以向我解释这里发生了什么吗?

谢谢!

library (boot)
#make a matrix who's rows are obs and columns are vbls
foo <- matrix (nrow = 100, ncol = 2)
set.seed (5280)
foo [,1] <- rnorm (100, 0, 1)
set.seed (5280)
foo [,2] <- rnorm (100, 10, 2)

var.new <- function (x, ind){
    result <- var(x)
    return (result)
 }

apply (foo, 2, var.new) #for comparison to t0 in from the boot function
foo.var <- boot (data = foo, statistic = var.new, R = 1000, stype = "i",
                sim = "ordinary")

我重新阅读文档并将var包装在函数var.new中,该函数接受参数&#34; ind&#34;。现在,我得到了我期望的结果。

0 个答案:

没有答案