¿Es posible que lo que busques sea la función get()? Un saludo Isidro Hidalgo Arellano Observatorio Regional de Empleo Consejería de Empleo y Economía http://www.jccm.es > -----Mensaje original----- > De: R-help-es [mailto:[email protected]] En nombre de Isa > García Barón > Enviado el: miércoles, 04 de febrero de 2015 11:08 > Para: [email protected] > Asunto: [R-es] Función assign y paste0 en un loop > > Hola, espero explicar bien el problema que tengo. > > Estoy intentando hacer loops para glm's. El problema vieneal nombrar > cada glm de una manera y realizar la seleccion por AIC mediante la > función step. > > Cuando realizo los glm utilizo las funcion assign y paste0, para > nombrar a cada uno distinto: > > asssign(paste0("glm",i),glm(ap~V1+V2+V3+V4+V5,data=datos,family = > binomial(link=logit))) > > Después, lo que pretendo es realizar la selección por AIC, mediante la > función step para cada glm credo anteriormente y ahí viene el problema, > no se cómo decirle que me haga el step para cada glm con cada nombre > creado > anteriormente: > > assign(paste0("glmstep",i),step("glm",i) > > Error: unexpected symbol in: > "assign(paste0("glmstep",i),step("glm",i) > todosres" > > Necesito hacer esto para extraer los coeficientes de todos los glm > finales seleccionados, en esta parte supongo que también tendré el > mismo problema... > > A continuación el script completo: > > nes <- read.csv('C:/Aegmon/nes.csv', sep=';', header=T) > > nreps=5 > > #selecting all rows with presences > index1=which(nes$ap==1) > np=length(index1) > > #create object to holdall results of predicting the probability #of the > observation left out > todosres=matrix(0,nrow=nt,ncol=nreps) > > for (i in 1:np){ > datos=nesting[-index1[i],] > datosp=datos[datos$ap==1,] > datosa=datos[datos$ap==0,] > ndatosa=nrow(datosa) > > for (j in 1:nreps) { > datosarand=datosa[sample(ndatosa,size=np,replace=FALSE),] > newsamp=rbind(datosp,datosarand) > asssign(paste0("glm",i),glm(ap~V1+V2+V3+V4+V5,data = datos,family = > binomial(link=logit))) > save(list=paste0("glm",i),file=paste0("resultsglm/glm",i,".Rdata")) > assign(paste0("glmstep",i),step("glm",i) > > todosres[,j]=predict.glm(object=glmtempstep,newdata=nes,type="response" > ) > } > } > > coeffsglm=matrix(0,nrow=nt,ncol=9) > for (i in 1:nt){ > > coeffsglm[j,]=as.numeric(eval(parse(text=paste0("glmstep",i,"$coefficie > nts")))) > } > > > Espero haberme explicado bien, muchas gracias > > Un saludo > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > [email protected] > https://stat.ethz.ch/mailman/listinfo/r-help-es
_______________________________________________ R-help-es mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-help-es
