R-我在引导库中使用boot()犯了一个错误

时间:2017-10-25 05:58:47

标签: r bootstrapping

我正在尝试在表格中的不同列之间运行相关性测试。我还使用bootstrap方法运行相同的测试。我想比较结果,但发现那些结果完全相同。所以我想知道我做错了什么。

df是一个20000行* 7列data.table,第一列是键

下面是我的引导代码。请帮我检查一下。 引导后的结果是否可能与运行整个数据集相同?谢谢!

n = nrow(df)
cor.small <- function(d,i= c(1:n)){
 d2 <- d[i,]
 cormat <- cor(d2[,-1,with=FALSE])
 upper <- get_upper_tri(cormat)
 return(upper)
}

result <- boot(data = df,statistic = cor.small, R= 999)

1 个答案:

答案 0 :(得分:0)

您应该像这样调用boot函数(我使用了Iris数据集来处理某些东西,并在某些地方修改了代码):

cor.small <- function(d, i ){
        cormat <- cor(d[i ,-1])
        upper <- cormat[lower.tri(cormat)]
        return(upper)
}

df <- iris[ ,-5]
nsamp = ceil(nrow(df) / 2) # or use a different value
nrun = 10
set.seed(1)
cor.small(df,sample(1:nsamp,nsamp,replace=TRUE))


boot(data = df,statistic = cor.small, R= nrun)