r中做boot package,用第一个return(result)作为观测数据计算置信区间
does boot package in r, use the first return(result) as the observed data to calculate confidence intervals
我在 R 中使用函数 boot 做一个 bootstrap,但我没有将我的数据集直接作为数据参数传递到 boot 函数中,而是传递了一个在统计中使用的索引以进行合并两个数据表来得到我的结果。好像boot是用第一个bootstrap的结果作为真正的采样数据(说经验值)。这个对吗?因为当我手动执行 bootstrap 时,我得到了类似的结果。虽然我希望引导使用 'data' 作为原始数据。我很迷惑。 CI 是有道理的,但我希望它不会起作用,除非出于我提到的原因。
简而言之,我有一个索引向量
x=1:100
和我的函数
myboot <- function(data,indeces) {
toselect <- data[indeces] # allows boot to select sample
toselect=as.data.table(toselect)
#this is where I use the index for the merge
t=merge(toselect,mydataset,allow.cartesian=TRUE)
return(nrow(t))
}
b <- boot(data=x, statistic=myboot, R=1000)
我得到的结果
ORDINARY NONPARAMETRIC BOOTSTRAP
Call:
boot(data = x, statistic = myboot, R = 1000)
Bootstrap Statistics :
original bias std. error
t1* 397.2477 -0.03669725 11.70803
> boot.ci(b, type="bca")
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates
CALL :
boot.ci(boot.out = b, type = "bca")
Intervals :
Level BCa
95% (375.2, 421.1 )
是的,你是对的。
用于计算统计信息的函数具有以下要求(根据帮助页面):
... In all other cases statistic must take at least two arguments. The first argument passed will always be the original data. The second will be a vector of indices, frequencies or weights which define the bootstrap sample. Further, if predictions are required, then a third argument is required which would be a vector of the random indices used to generate the bootstrap predictions.
由于您的数据集包含 1:100
中的数字,因此传递的第二个参数将从 1:100
中采样,并最终产生完全相同的结果。换句话说,您的 data[indeces]
行将与 indeces
相同。
我在 R 中使用函数 boot 做一个 bootstrap,但我没有将我的数据集直接作为数据参数传递到 boot 函数中,而是传递了一个在统计中使用的索引以进行合并两个数据表来得到我的结果。好像boot是用第一个bootstrap的结果作为真正的采样数据(说经验值)。这个对吗?因为当我手动执行 bootstrap 时,我得到了类似的结果。虽然我希望引导使用 'data' 作为原始数据。我很迷惑。 CI 是有道理的,但我希望它不会起作用,除非出于我提到的原因。
简而言之,我有一个索引向量
x=1:100
和我的函数
myboot <- function(data,indeces) {
toselect <- data[indeces] # allows boot to select sample
toselect=as.data.table(toselect)
#this is where I use the index for the merge
t=merge(toselect,mydataset,allow.cartesian=TRUE)
return(nrow(t))
}
b <- boot(data=x, statistic=myboot, R=1000)
我得到的结果
ORDINARY NONPARAMETRIC BOOTSTRAP
Call:
boot(data = x, statistic = myboot, R = 1000)
Bootstrap Statistics :
original bias std. error
t1* 397.2477 -0.03669725 11.70803
> boot.ci(b, type="bca")
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates
CALL :
boot.ci(boot.out = b, type = "bca")
Intervals :
Level BCa
95% (375.2, 421.1 )
是的,你是对的。
用于计算统计信息的函数具有以下要求(根据帮助页面):
... In all other cases statistic must take at least two arguments. The first argument passed will always be the original data. The second will be a vector of indices, frequencies or weights which define the bootstrap sample. Further, if predictions are required, then a third argument is required which would be a vector of the random indices used to generate the bootstrap predictions.
由于您的数据集包含 1:100
中的数字,因此传递的第二个参数将从 1:100
中采样,并最终产生完全相同的结果。换句话说,您的 data[indeces]
行将与 indeces
相同。