Я действительно надеюсь, что вы можете помочь мне с проблемой, которую я не могу решить самостоятельно. Я пытаюсь запрограммировать базовую модель урны для веб-приложения. Я хочу рассчитать вероятности конкретных случайных событий в соответствии с различными методами рисования в модели с двумя разными цветами.Модель Urn в R (пытается рассчитать вероятности случайных событий)
Состав урны (красный и черные шары) задаются в векторе < -c (number_red, number_black)
Случайное событие указано в другом vecotor, позволяет сказать б < -c («красный», «красный», «черный», «красный») или любая другая комбинация красных и черных шаров.
Теперь вы хотите рассчитать вероятность события (вектор b), когда шары равны 1) заменяется в урне, и порядок имеет значение 2) НЕ заменяется в урне, и порядок имеет значение 3) НЕ заменен в урну, и порядок не имеет значения 4) заменен в урну, и порядок не имеет значения
я придумал несколько различных идей, но ни один из них действительно не работал ... В сначала я написал fuctions, чтобы определить, сколько различных комбинаций можно использовать в каждом из сценариев.
stan = function(n,x) {return(n^x)}
perm = function(n, x) {return(factorial(n)/factorial(n-x))}
komb = function(n, x) {return(factorial(n)/(factorial(n-x)*factorial(x)))}
komb2 = function(n, x) {return(factorial(n+x-1)/(factorial(n-1)*factorial(x)))}
Но тогда я действительно не знал, как их применять, чтобы рассчитать окончательные вероятности.
Я также экспериментировал с циклами для того, чтобы эмулировать древовидную диаграмму, но для меня это стало слишком сложным. Например:
c <- c(number_red/(number_red+number_black), number_red/(number_red+number_black))
b <- c("red","black","red")
b[b=="red"]<-1
[b=="black"]<-2
b<-as.numeric(b)
vec<-NULL
for (i in b){
vec<-c(vec, c[i])}
prod(vec)
Решение, как это дает правильные результаты для задачи № 1, но я действительно не знаю, как применить его к другим проблемам, так как я должен был бы найти способ, чтобы изменить вектор с в соответствии с состав вектора b каждый раз, когда я запускаю цикл.
Конечно, я экспериментировал с различными идеями, но ни один из них действительно не работает. Я был бы очень благодарен, если бы кто-то помог мне с моей проблемой.
Бест, Генри
во втором кодовом блоке, 'c' - доля шаров, в то время как в тексте' c' есть количество мячей, не могли бы вы сделать это ясно? и 'c' - также имя внутренней функции, вы можете лучше выбрать другие имена. – mt1022
Я использовал пропорции, потому что они представляют вероятности нарисовать один шар. Таким образом, каждый раз, когда цикл работает, либо вероятность рисования красного шара, либо рисования черного шара добавляется к vec, в соответствии с объединением b. В конце все единичные вероятности умножаются, чтобы получить общую вероятность b. Извините, я не был в курсе об этом –