R внешняя функция не вставляет элементы в качестве аргументов - PullRequest
0 голосов
/ 27 февраля 2020

Я работаю над сценарием, который должен оценить вероятность того, что по крайней мере 2 человека из n будут иметь одинаковый день рождения в течение k дней от каждого другого. Чтобы оценить это, у меня есть следующая функция:

birthdayRangeCheck.prob = function(nPeople, seperation, nSimulations) {
count = 0
for (i in 1:nSimulations) {
   count = count + birthdayRangeCheck(nPeople, seperation)
}
return(count / nSimulations)
}

Теперь, просто введя простые значения для nPeople, seperation, nSimulations, я получу нормальное число. Например,

birthdayRangeCheck.prob(10,4,100)
-> 0.75

Однако, когда я хочу изобразить вероятность как функцию nPeople и разделения, я сталкиваюсь со следующей проблемой:

x = 1:999
y = 0:998
z = outer(X = x, Y = y, FUN = birthdayRangeCheck.prob, nSimulations = 100)

numerical expression has 576 elements: only the first used... (a lot of times)

Так что кажется, что внешнее не входит отдельные элементы x и y, а скорее сами векторы, что противоположно тому, что внешнее должно делать правильно?

Я что-то пропускаю? Потому что я не могу понять, что является причиной этой ошибки. (замена FUN, например, sin (x + y) работает как талисман, поэтому я связал его с самой функцией. Но так как функция прекрасно работает с числовыми аргументами c, я не понимаю, почему R не понимает просто ввести элементы x и y в качестве аргументов.)

Любая помощь будет принята с благодарностью. Спасибо;)

...