R: создание вектора с количеством появлений элемента в образце - PullRequest
0 голосов
/ 30 января 2019

У меня проблема с домашним заданием, когда у меня выборка из 30 человек, случайная выборка из 10 человек:

мужчины [1] 15 18 14 6 22 17 20 3 16 9

И из них сделайте 12 случайных выборок и определите, сколько раз каждый человек появляется.

Дословное утверждение задачи: «Выполните 12 выборок из 10 мужчин из популяции размером 30».и для каждого человека запишите число выборок, в которых он появляется. "

Я попытался выполнить цикл для задачи, в результате которого был бы создан вектор из 10 элементов, каждый из которых выстроен в соответствие с соответствующим индексом.

mtimes<-rep(0,12)
> repeat{
+ mtimes[menind]<-sum(sample(pop1,12,replace = TRUE) == men[menind])
+ menind = menind + 1
+ if (menind == 10){
+ break
+ }
+ }

Это привело к вектору:

mtimes [1] 0 0 1 0 0 0 0 0 0 0

Кажется,Третий человек не должен был появляться только один раз, в то время как в образцах больше никого не было.

1 Ответ

0 голосов
/ 30 января 2019

Вы можете использовать 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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...