2016-11-15 91 views
0

我想創建一個函數,基本上關於大衣和人。如果一個衣帽間隨意混搭大衣,平均有多少人最終會擁有自己的大衣。與k數量的人。這裏是我的功能,但是當我把它叫做沒有返回我的回答的功能:排列匹配功能

Umbrella=function(k) 
m=rep(0,10000) 
for (i in 1:10000){ 
Umbrellas=sample(1:k,k) 
Heads=sample(1:k,k) 
m[i]=sum(Umbrellas==Heads) 
} 
m[i] 

回答

0

我假設你正在使用R和你是相當新的給它。

您錯過了function(k)之後的開頭大括號以及函數末尾的右括號。此外,您編寫的代碼就好像您只想返回m[i]mi第012個元素),但我想您對每個模擬的正確「人物外套匹配」數量更感興趣。

Umbrella <- function(k){ 
    m = rep(0, 10000) 
    for(i in 1:10000){ 
    umbrellas <- sample(1:k, k)  
    heads <- sample(1:k, k) 
    m[i] <- sum(umbrellas == heads) 
    } 
    return(m) 
} 

記:你在做模擬10.000,所以m將與零和k之間10.000值的向量。

+0

作爲一個函數運行這個函數後,它返回一個10000的最大向量並且不打印所有的向量,那麼如何才能讓它返回正確匹配的單個值? –

+0

@GeorgiaDickinson。我不確定我明白你在說什麼。你在尋找m值的平均值嗎?或者可能是一筆? –

+0

我期待找到雨傘=頭的概率 –