2013-10-03 2 views
4

나는 공부하고자하는 분포에 따라 난수를 생성하는 함수 x <- function() ...을 작성했습니다.R에서 난수를 생성하는 사용자 정의 함수에서 샘플링하는 방법은 무엇입니까?

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

나는 for 루프를 통해 x를 사용하여 10 개 임의의 숫자의 목록을 생성 할 수 있습니다

> 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 

그러나,이 서투른 것 같다. 나는 알고 싶다 : 는 그런 명부를 창조하는 더 나은 방법 있는가?

(정규 분포 번호 생성) rnorm(10)하지만 I (0과 1 사이의 균일 한 난수를 발생시킨다) 등 (1:10)^2 (사각형을 생성한다)와 runif(10,0,1) 같은 R에서리스트 번호를 생성하는 일부 간결한 방법이 있습니다 제 경우에는 작동하지 않습니다. x(1:10)Error in x(1:10) : unused argument(s) (1:10)을 반환합니다. replicate

replicate(10, x()) 

를 사용

답변

6

봅니다 또한, 당신이 원 2에 있습니다

+1

우수한 R inferno를 참조하십시오. 그게 바로 내가 한 일이야. –