我想使用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;。现在,我得到了我期望的结果。