2014-09-09 4 views
0

무작위 샘플링에 대한 질문이 있습니다.R : 무작위 샘플 대 1 무작위 샘플 분포

다음 두 결과 (A와 B)가 통계적으로 동일합니까?

nobs <- 1000 

A <- rt(n=nobs, df=3, ncp=0) 

simulations <- 50 
B <- unlist(lapply(rep.int(nobs/simulations, times=simulations),function(y) rt(n=y, df=3, ncp=0))) 

나는 그것이 지금과 같을 것이라고 생각했지만 지금은 이리저리 돌아 다녔다.

도움을 주시면 감사하겠습니다.

감사합니다.

+1

대답은 '예'입니다. – kohske

답변

0

약간의 변경을 통해 수치를 동일하게 만들 수도 있습니다. 당신은 대신 RNG 씨앗과 ncp 매개 변수를 지정 생략하고 (공의) 기본값을 사용해야합니다

nobs <- 1000 
set.seed(42) 
A <- rt(n=nobs, df=3) 

simulations <- 50 
set.seed(42) 
B <- unlist(lapply(rep.int(nobs/simulations, times=simulations),function(y) rt(n=y, df=3))) 

all.equal(A, B) 
#[1] TRUE 

왜 당신이 동일한 결과를 얻을 수없는 당신이 ncp=0을 지정할 때?

왜냐하면 rt은 실제로 비 중앙 t- 분포를 원하는 것으로 가정하고 값은 rnorm(n, ncp)/sqrt(rchisq(n, df)/df)으로 계산됩니다. 즉, 한 번에 1000 개의 값을 만들 때 rnorm이 한 번 호출되고 이후에 rchisq이 한 번 호출됩니다. 50 번 20 개의 값을 만드는 경우 이러한 RNG에 번갈아 전화가 걸리므로 첫 번째 경우보다 rnormrchisq 호출의 RNG 상태가 다릅니다.

관련 문제