Бросив 3 честные монеты в R - PullRequest
0 голосов
/ 08 марта 2019

X = количество головок, показывающих, когда брошены три монеты.
Найти P (X = 1) и E (X) .

Скажем, я хочу решить эту проблему, используя функции sample() и replicate() в R, хотя есть функция с именем rbinom().

Myпопытка:

noOfCoinTosses = 3;
noOfExperiments = 5;
mySamples <-replicate(noOfExperiments,
                    {mySamples <- sample(c("H", "T"), noOfCoinTosses, replace = T, prob=c(0.5, 0.5))
                    })
headCount = length(which(mySamples=="H"))
probOfCoinToss <- headCount / noOfExperiments   # 1.6
meanOfCoinToss = ??

Я на правильном пути в отношении P (X) ?Если да, как я могу найти E (X) ?

1 Ответ

2 голосов
/ 08 марта 2019

Результаты в mySamples хранят эксперименты для каждого столбца, поэтому вам придется подсчитывать вхождение головы в столбец. Тогда вероятность - это частота / nr экспериментов, а среднее значение в этом случае - частота:

noOfCoinTosses = 3;
noOfExperiments = 5;
mySamples <-replicate(noOfExperiments,
                      {mySamples <- sample(c("H", "T"), noOfCoinTosses, replace = T, prob=c(0.5, 0.5))
                      })
headCount <- apply(mySamples,2, function(x) length(which(x=="H")))
probOfCoinToss <- length(which(headCount==1)) / noOfExperiments   # 1.6
meanOfCoinToss <- length(which(headCount==1))

Когда вы хотите вычислить реальное среднее, вы можете поместить это в функцию и повторить это n раз. Тогда среднее значение станет средним для реплицированного meanOfCoinToss

...