# Extra 4 ## a) fit true model n <- 30 # sample size beta0 <- 1.0 # true intercept value sig <- 1.0 # variance beta1v <- seq(0,2,by=0.1) # true slope value(s) N <- 100 # number of simulation runs Pval <- matrix(nrow=length(beta1v),ncol=N) # empty matrix for storing p-values for(i in 1:length(beta1v)) { for(j in 1:N) { beta1 <- beta1v[i] x <- rnorm(n) # draw n predictor values from normal dist y <- rnorm(n,beta0+beta1*x,sig) # draw n outcome values from conditional normal dist fit <- lm(y~x) # fit linear regression model Pval[i,j] <- summary(fit)$coef["x",4] # record p-value } } # compute rejection rate alpha <- 0.05 rej.rate <- rowMeans(Pval