R 基于AIC的仿真研究

R 基于AIC的仿真研究,r,simulation,linear-regression,R,Simulation,Linear Regression,我必须用R编写一个模拟研究的代码。所以,我有X1,…,X15~N(0,1)解释变量和Y~N(2+2*X1+0.8*X2-1.2*X15,1),我需要模拟N=100个值,并对iter=100重复。然后,对于创建的每个线性模型,我必须计算AIC值,最后找到最佳模型。问题是,我不知道如何在item=100次的情况下执行该操作。我为1模拟编写了代码,如下所示: set.seed(123) n<‐100 p<‐15 iter<‐100 X<‐matrix(rep(NA,n*p),n

我必须用R编写一个模拟研究的代码。所以,我有X1,…,X15~N(0,1)解释变量和Y~N(2+2*X1+0.8*X2-1.2*X15,1),我需要模拟N=100个值,并对iter=100重复。然后,对于创建的每个线性模型,我必须计算AIC值,最后找到最佳模型。问题是,我不知道如何在item=100次的情况下执行该操作。我为1模拟编写了代码,如下所示:

set.seed(123)
n<‐100
p<‐15
iter<‐100 X<‐matrix(rep(NA,n*p),ncol=p) for (j in 1:p) {
X[,j]<‐rnorm(n = 100, mean = 0, sd = 1) }
mu<‐(2+2*X[,1])+(0.8*X[,2])‐(1.2*X[,15]) Y<‐rnorm(n = 100, mean = mu , sd = 1) 
sim<‐data.frame(Y,X)
d<‐lm(Y~X, data = sim)
set.seed(123)
这个怎么样

nsim <- 100
nobs <- 100
nvar <- 15

results <- lapply(1:nsim, function(i) { 
     X <- matrix(rnorm(nobs*nvar),nrow=nobs)
     y <- rnorm(nobs, mean=2 + X[,c(1,2,15)]%*% c(2, .8,-1.2))
     DF <- data.frame(y, X)
     lm(y ~ X, data=DF)})

nsim不会完全重写问题、代码、假设以及使用
stepAIC
的要求。如果你想要另一个答案,请开始一个新问题对不起,我把它重新编辑了。
findbest <- which.min(sapply(results, function(i) { AIC(i) }))
results[[findbest]]