【问题标题】:Is it possible to generate a sample of 10 from a population and repeat that sampling 1000 times?是否可以从总体中生成 10 个样本并重复该抽样 1000 次?
【发布时间】:2020-04-21 19:58:35
【问题描述】:

我正在尝试从人群中随机抽取 10 个人并重复 1000 次。这可能吗?到目前为止,这是我的代码,我不太确定我是否走在正确的轨道上。我一直收到错误消息“要替换的项目数不是替换长度的倍数”。

这是我的代码:

B<-1000
for (i in 1:B){

  FR3_Acropora_Sample[i]<-(sample(FR3_Acropora$Ratio,size=10,replace=TRUE))

}

【问题讨论】:

    标签: r loops for-loop sampling statistics-bootstrap


    【解决方案1】:

    考虑replicate(包装到sapply):

    # MATRIX
    sample_matrix <- replicate(B, sample(FR3_Acropora$Ratio, size=10, replace=TRUE))
    
    # LIST
    sample_list <- replicate(B, sample(FR3_Acropora$Ratio, size=10, replace=TRUE),
                             simplify = FALSE)
    

    【讨论】:

      【解决方案2】:

      我相信您可以通过以下方式完成此操作。我创建了一个数字 1 到 50 的样本数据集——当然你会跳过这一步。我初始化了一个长度为 100 的列表向量。我从 1 循环到 100,并选择一个随机样本分配给向量中的每个空白空间。然后我可以使用sampleList[[x]] 访问任何样本,其中 x 是 1 到 100 之间的任意数字。

      x <- c(1:50)
      
      sampleList <- vector(mode="list", length=100)
      
      for (i in 1:100) {
      sampleList[[i]] = sample(x, size = 10, replace = TRUE)
      }
      

      使用您的变量名,如下所示:

      B<-1000
      FR3_Acropora_Sample <- vector(mode="list", length=1000)
      for (i in 1:B){
      
        FR3_Acropora_Sample[[i]]=sample(FR3_Acropora$Ratio,size=10,replace=TRUE)
      
      }
      

      【讨论】:

      • 非常感谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 2019-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多