이중 루프를 만드는 방법을 알고 싶습니다. 내 코드에서 1000 샘플 (각 샘플 크기 : 25)에 다중 회귀를 수행합니다. 그런 다음, nullhypothesis를 사용하여 1000 개의 각 샘플에 대해 t 테스트 값을 만듭니다. sample = 'real'beta3 값의 beta3 값 . 나는 몬테카를로 시뮬레이션 (베타 3 = 회귀 계수의 세 번째 값)에서 '실제'베타 3 가치를 안다. 그러나 코드는 지금까지 작동합니다. 이제 샘플 크기 50, 100, 250, 500 및 1000 (각 샘플 크기는 1000 번)에 대해 동일한 절차를 수행하려고합니다. 루프로이 목표를 어떻게 실현할 수 있습니까? 네가 나를 도울 수 있다면 나는 기뻐할 것이다! 여기 내 코드를 볼 수 있습니다 :이중 루프를 만드는 방법은 무엇입니까?
n <- 25
B <- 1000
beta3 <- 1.01901 #'real' beta3 value
t.test.values <- rep(NA, B)
for(rep in 1:B){
##data generation
d1 <- runif(25, 0, 1)
d2 <- rnorm(25, 0, 1)
d3 <- rchisq(25, 1, ncp=0)
x1 <- (1 + d1)
x2 <- (3 * d1 + 0.6 * d2)
x3 <- (2 * d1 + 0.6 * d3)
exi <- rchisq(25, 5, ncp = 0)
y <- beta0 + beta1*x1 + beta2*x2 + beta3*x3 + exi
## estimation
lmobj <- lm(y ~ x1 + x2 + x3)
## extraction
betaestim <- coefficients(lmobj)[2:4]
betavar <- vcov(lmobj)[2:4, 2:4]
## t-test
t.test.values[rep] <- (betaestim[3] - beta3)/sqrt((betavar)[9])
}
_Four months_ 06JUL16에 원래 질문을 게시하고 @bouncyball의 답변을 수락 한 후 17NOV16에서 Q를 대량 변경했습니다. 변경 사항을 취소하고 새 질문을 제출하십시오. – Uwe