【发布时间】:2020-02-12 00:15:47
【问题描述】:
我正在尝试从对模拟数据的 LASSO 实验中找出哪些系数被正确且不正确地缩小为 0。我可以让它在一次迭代中工作,但我不知道如何正确循环它,以便我可以提取 100 次迭代的相关信息。 这是我当前的代码
library(MASS)
library(glmnet)
N=100
n=200
p=200
set.seed(123)
f.non<-data.frame(NULL)
f.disc<-data.frame(NULL)
X= mvrnorm(200, rep(0,p), diag(1,p,p))
Y=rowSums(X[,1:10])+3.5*rnorm(n)
lasso.model<-cv.glmnet(X,Y,alpha=1,intercept=FALSE)
lasso.coef<-coef(lasso.model,s=lasso.model$lambda.1se)
f.non<- sum(lasso.coef[2:11,] == 0)
f.disc <- sum(lasso.coef[12:201,] != 0)
}
上面的部分是我尝试通过设置一个空数据框进行循环,然后在循环中捕获结果,但我无法让循环工作
【问题讨论】:
标签: r dataframe for-loop coefficients lasso-regression