驴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:r-help-es-boun...@r-project.org] En nombre de Isa
> Garc铆a Bar贸n
> Enviado el: mi茅rcoles, 04 de febrero de 2015 11:08
> Para: r-help-es@r-project.org
> 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
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es

_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a