Bien, Carlos, lo de ir metiendo las dfs en una lista parece buena idea, y después puedo fusionarlas con un cbind, tal y como hago ahora mismo, después de crear cada una de ellas independientemente. Son 9 dfs, y obtener cada una de ellas toma bastante tiempo de computación. Lo que quiero es que me haga las 9 en un loop. El problema es que si no les pone nombres distintos a las variables, después no puedo identificarlas, y si les tengo que cambiar yo el nombre, no me merece la pena hace el loop.



Quoting "Carlos J. Gil Bellosta" <c...@datanalytics.com>:

Es que no quieres crear objetos con nombres raros en tu entorno. Lo que
quieres hacer es crear una lista de matrices (o dfs). El consejo anterior
te explicaba con detalle cómo dispararte en el pie. Realmente, quieres
hacer otra cosa.

El vie., 22 jun. 2018 a las 19:53, Manuel Mendoza (<mmend...@mncn.csic.es>)
escribió:


Funciona, me crea una matriz en cada iteración, con un nombre que
incluye el nº de la iteración. Me surge ahora el problema de que,
dentro del mismo bucle la quiero convertir en df y ponerle nombre a
las columnas, y como el nombre de la matriz es distinto cada vez, no
sé cómo hacerlo. Supongo que se hará todo al crearla, pero no sé cómo.

Un problema adicional es que las variables (columnas) también han de
llevar la "i" incluida en el nombre, porque al final se fusionan todas
las dfs y no se puede repetir el nombre de las variables.

Gracias una vez más.




Quoting Jesús Para Fernández <j.para.fernan...@hotmail.com>:

> Con assing y un paste0
>
> Mete dentro del bucle esto
>
> for(i in 1:7){
> assign(paste0('matriz',i),matrix(0,ncol=5,nrow=3))
>
> }
>
> Con eso generarias 7 matrices de 5x3, llamadas matriz1, matriz2,...
>
> Obtener Outlook para Android<https://aka.ms/ghei36>
>
> ________________________________
> From: R-help-es <r-help-es-boun...@r-project.org> on behalf of
> Manuel Mendoza <mmend...@mncn.csic.es>
> Sent: Friday, June 22, 2018 10:15:55 AM
> To: r-help-es@r-project.org
> Subject: [R-es] loop con matriz que cambia de nombre
>
>
> Buenos días. Quiero hacer un for (j), anidado en otro for (i). En el
> 2º for, en cada iteración ha de crear una matriz vacía: mat <-
> matrix(nrow=nrow(data),ncol=19) pero llamándola de forma distinta cada
> vez. El nombre ha de ser: paste("D",i,colnames(Data[j]),sep=""). Llevo
> un rato haciendo pruebas pero no me sale. A ver si alguien pudiera
> ayudarme,
> gracias,
> Manuel
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> .
> --
> Dr Manuel Mendoza
> Department of Biogeography and Global Change
> National Museum of Natural History (MNCN)
> Spanish Scientific Council (CSIC)
> C/ Serrano 115bis, 28006 MADRID
> Spain
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es


--
Dr Manuel Mendoza
Department of Biogeography and Global Change
National Museum of Natural History (MNCN)
Spanish Scientific Council (CSIC)
C/ Serrano 115bis, 28006 MADRID
Spain

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



--
Dr Manuel Mendoza
Department of Biogeography and Global Change
National Museum of Natural History (MNCN)
Spanish Scientific Council (CSIC)
C/ Serrano 115bis, 28006 MADRID
Spain

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

Responder a