Ich würde gerne wissen, wie man eine doppelte Schleife erstellt. In meinem Code, ich mache eine multiple Regression auf 1000 Proben (jede Stichprobe Größe: 25) Dann erstelle ich t Test Werte für jede Probe aus der 1000 mit der Nullhypothese: beta3 Wert aus der Probe = 'real' beta3 Wert . Ich kenne den "echten" beta3-Wert aus einer Monte-Carlo-Simulation (Beta 3 = Wert des dritten Koeffizienten der Regression). Der Code funktioniert jedoch bisher. Jetzt möchte ich das gleiche Verfahren für die Probengrößen 50, 100, 250, 500 und 1000 (jede Probengröße 1000 mal). Wie kann ich dieses Ziel mit einer Schleife realisieren. Ich würde mich freuen, wenn du mir helfen könntest! Hier können Sie meinen Code sehen:Wie erstelle ich eine doppelte Schleife?
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])
}
_Vier Monate_ nachdem du deine ursprüngliche Frage am 06. Juli 16 gestellt und die Antwort von @bouncyball akzeptiert hast, hast du das Q massiv am 17.NOV16 geändert. Bitte setzen Sie Ihre Änderungen zurück und senden Sie eine neue Frage. – Uwe