2016-11-15 14 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] (i-й элемент m), но я думаю, вас больше интересует количество правильных «человеко-пальто-матчей» за симуляцию.

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 будет вектором с 10000 значениями между нулем и k.

+0

Запустив это как функцию, он возвращает большой вектор 10000, который высвечивает и не печатает все, так как я могу заставить его вернуть одно значение правильных совпадений? –

+0

@GeorgiaDickinson. Я не уверен, что понимаю, что вы говорите. Вы ищете среднее значение m? Или, может быть, сумма? –

+0

Я ищу, чтобы определить, что зонтики = головы –