Какой идиоматический способ в R - возвращать вектор значений функции, когда функция не вводит? - PullRequest
4 голосов
/ 13 февраля 2012

Предположим, я пишу функцию, которая не принимает никаких данных, но возвращает случайную переменную, например,

example.f <- function() runif(1, 0, 1)

Если я хочу получить вектор длины 100 результатов, возвращаемых из этой функции, я не могу этого:

rep(example.f(), 100)

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

sapply(1:100, function(x) example.f())

, но мне это кажется немного не элегантным.Есть ли другой способ?

1 Ответ

8 голосов
/ 13 февраля 2012

Использовать копию:

replicate(100, example.f())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...