Как сделать выборку из пользовательской функции, которая генерирует случайные числа в 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 ад