Как я могу взять образцы, увеличивающиеся в размере (увеличение имеет геометрию c в природе) из популяции? - PullRequest
0 голосов
/ 03 апреля 2020

Я новичок в программировании на R, и мне нужна помощь с проблемой. Мне говорят, что население обычно распределяется со средним значением 4 и стандартным отклонением 4. Размер населения составляет 10000000. Затем меня просят взять 23 образца из этого населения, начиная с выборки размером n = 1. и каждая последующая выборка больше, чем предыдущая, в 2 раза, т.е. первая выборка имеет размер 1, затем вторая n = 2, затем n = 4, затем n = 8, затем n = 16 .... п = 2 ^ 23. Я могу сделать это вручную, рисуя каждый образец, но я ищу способ автоматизировать это. Вероятно, используя для l oop? Я знаю, что коэффициент увеличения от одного к следующему равен 2, но я не могу объяснить это. Пожалуйста, помогите

1 Ответ

0 голосов
/ 03 апреля 2020

Вот подход с базой R.

set.seed(1)
Result <- sapply(0:22,function(x){rnorm(n = 2^x, mean = 4, sd = 4)})
Result[1:4]
#[[1]]
#[1] 1.494185
#
#[[2]]
#[1] 4.7345733 0.6574856
#
#[[3]]
#[1] 10.3811232  5.3180311  0.7181265  5.9497162
#
#[[4]]
#[1]  6.953299  6.303125  2.778446 10.047125  5.559373  1.515038 -4.858800  8.499724

Возвращает Result, который представляет собой список из 23 элементов, каждый из которых содержит 2 ^ n dr aws.

Я могу представьте себе, что кто-то хочет, чтобы вы жестоко обращались с каждым из этих 23 др aws. Это тоже легко.

sapply(Result,mean)
#[1] 1.494185 2.696029 5.591749 4.599666 4.579945 4.709584 4.289879 3.759900 4.030414 3.806070 3.930797 4.076481 3.939796 3.945899
#[15] 4.058098 3.959156 4.015014 3.989361 4.005028 4.002011 3.999206 3.999296 4.003509
...