2015-09-13 8 views
0

Мне нужно сделать симуляцию Монте-Карло в R для этой проблемы:Вероятность использования Монте-Карло

Три туриста прибывают в город, в котором есть пять отелей. Какова вероятность того, что три туриста каждый вписываются в другой отель? И какова вероятность того, что все они войдут в тот же отель? Отели имеют те же характеристики.

Я потерял его, я попытался с кодом ниже, но, похоже, не работал.

esperanza_Xn <- function(n,p,m) { 
sim=0; q=1-p 
for(i in 1:m){ 
    r=runif(n,1,p) 
    e=2*r-1; X=0 
    for(j in 1:n){ 
     X[j+1]=X[j]+e[j] 
    } 
    sim[i]=X[n+1]} 
    a=paste("E(X_n) teórico=",n*(p-q)) 
    b=paste("E(X_n) Monte Carlo=",mean(sim)) 
    rbind(a,b) 
} 

Пример

esperanza_Xn(100,5,3) 
+0

* Почему * А не было» Это работает? У вас есть трассировка стека? – Matt

+5

Пожалуйста, не переупаковывайте: http://stackoverflow.com/questions/32534667/monte-carlo-on-r – josliber

+0

Кроме того, есть несколько моментов, которые не ясны. 1) Что такое n, p и m? 2) Вы говорите, что «казалось, не работало» - каким образом это не сработало? – josliber

ответ

1

Избавление от всех цикл:

sim.result <- replicate(n, sample(1:p, m, replace=TRUE)) 
hotel.count <- apply(sim.result, 2, function(x) length(unique(x))) 

Тогда это вопрос подсчета пропорций:

# Probability of all different hotel assignment 
mean(hotel.count == m) 

# Probability of same hotel assignment 
mean(hotel.count == 1)