2016-09-05 2 views
2

glmnet을 사용하여 여러 모델을 만들 수 있습니다. 그런 다음 나중에이 모델 목록을 사용할 수 있도록 목록에 모델을 저장했습니다. 나는이 목록에서 모델을 검색하려고 할 때 R : glmnet : 목록에서 glmnet 모델 저장 및 사용

library(glmnet) 
x1=matrix(rnorm(100*20),100,20) 
y1=matrix(rnorm(100*3),100,3) 
fit1m=glmnet(x1,y1,family="mgaussian") 

x2=matrix(rnorm(100*20),100,20) 
y2=matrix(rnorm(100*3),100,3) 
fit2m=glmnet(x2,y2,family="mgaussian") 


x3=matrix(rnorm(100*20),100,20) 
y3=matrix(rnorm(100*3),100,3) 
fit3m=glmnet(x3,y3,family="mgaussian") 


listmodels <-list(fit1m,fit2m,fit3m) 
listmodels 

는 그러나, 나는 클래스 오류

fit1 <- listmodels[1] 
fit1 


xnew=matrix(rnorm(100*20),100,20) 
pred1 <- as.data.frame(predict(fit1,newx=xnew),s="lambda.min") 
pred1 

있어 내가 올바르게 목록 작업의 모델을 만들기 위해 어떻게해야합니까? 도움 주셔서 감사합니다. 여전히 list입니다

답변

1

우리가 제대로 list 요소를 추출하는 경우가 작동 즉 '[1] listmodels은'우리는 사용할 필요 'listmodels [[1]]'요소

fit1 <- listmodels[[1]] 

xnew=matrix(rnorm(100*20),100,20) 
pred1 <- as.data.frame(predict(fit1,newx=xnew),s="lambda.min") 
pred1 

를 추출

우리 모두가 list 요소에이 작업을 수행하려면, 우리는 list (lapply)을 통해 루프와 동일한 프로세스를 수행 할 수

lapply(listmodels, function(x) as.data.frame(predict(x, 
     newx = matrix(rnorm(100*20), 100, 20)), s = "lambda.min")) 
관련 문제