Как сделать выборку из пользовательской функции, которая генерирует случайные числа в R?

Я написал функцию x <- function() ... который генерирует случайные числа в соответствии с распределением, которое я хотел бы изучить.

> x()
[1] 0.8947771
> x()
[1] 0.4478619

Я могу создать список из 10 случайных чисел, используя x через цикл for:

> s <- c()
> for(i in 1:10) s <- c(s,x())
> s
 [1] 0.6035317 0.4556456 0.6063270 0.4567958 0.5805186 0.7688124 0.6722493
 [8] 0.3908357 0.4513608 0.2747064

Однако это кажется неуклюжим. Я хотел бы знать: есть ли лучший способ создать такой список?

Есть несколько кратких способов создания списков номеров в R, таких как (1:10)^2 (который генерирует квадраты) и runif(10,0,1) (который генерирует равномерно случайные числа между 0 и 1), rnorm(10) (который генерирует нормально распределенные числа), но я не могу заставить его работать в моем случае: x(1:10) возвращается Error in x(1:10) : unused argument(s) (1:10),

1 ответ

Решение

Попробуйте использовать replicate

replicate(10, x())

Также обратите внимание, что вы находитесь в круге 2, прочитайте R ад

Другие вопросы по тегам