我有一个家庭作业问题,其中有30个男人的样本,其中有10个是随机样本:
男人 [1] 15 18 14 6 22 17 20 3 16 9
然后从它们中随机抽取12个样本,并确定每个人出现多少次。
问题陈述一字不漏地是:“对30名人口中的10个人进行12个抽样,并记录每个人的人数 他出现的样本。”
我尝试过解决该问题的循环,该循环将产生一个包含10个元素的向量,每个元素都与适当的索引对齐。
mtimes<-rep(0,12)
> repeat{
+ mtimes[menind]<-sum(sample(pop1,12,replace = TRUE) == men[menind])
+ menind = menind + 1
+ if (menind == 10){
+ break
+ }
+ }
这产生了一个向量:
次 [1] 0 0 1 0 0 0 0 0 0 0
似乎第三个人不应只出现过一次,而样本中没有其他人出现过。
答案 0 :(得分:0)
您可以在此处使用replicate
和table
set.seed(1)
table(replicate(n = 12, expr = sample(30, size = 10, replace = TRUE)))
# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
# 3 2 3 5 2 2 5 5 3 3 6 7 4 5 8 2 1 3 2 9 3 7 2 8 3 3 5 3 3 3
我认为“男人”是指1:30
。
另一种选择是将样本大小增加到10 * 12,如
set.seed(1)
table(sample(30, size = 10*12, replace = TRUE))