要用R语言在1000个苹果中系统抽样,每9个抽一个,共抽30个,如何用代码实现?谢谢

Python018

要用R语言在1000个苹果中系统抽样,每9个抽一个,共抽30个,如何用代码实现?谢谢,第1张

1000个苹果,每9个抽1个,抽30个,那也就用到9*30=270,跟1000有什么关系?

#假设apple原先是按顺序排的

>apple

[1] 1  2   3   4   ...

#首先将1000个苹果打乱顺序

>apple <- apple[sample(1000)] apple

[1]   528  376  9  231  ...

#然后写个循环

> count <- 0   # 这是最后抽出的样本

> i <- 1   # 这是抽样范围的起点

> output <- vector() # 存储最后抽出来的样本

> while (count != 30){

+ temp <- sample(apple[i : (i + 8)] , 1)   # 在apple的第i到第i+8之间抽1个

+ output <- c(output, temp)  # 把结果存下来

+ i <- i + 9  # 重新设定起点

+ count <- count + 1  

}

运行完看output

即随机抽样。sample(x, size, replace = FALSE, prob = NULL)replace=F,表示不重复抽样replace=T 表示可以重复抽样x=1:5sample(x,6,replace=T) #重复抽样[1] 1 2 1 4 4 3sample(x,2,replace=F) #不重复[1] 4 5