[R-es] loop con matriz que cambia de nombre

Manuel Mendoza mmendoz@ @ending from mncn@c@ic@e@
Sab Jun 23 13:04:37 CEST 2018


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" <cgb using 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 (<mmendoza using 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.fernandez using 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-bounces using r-project.org> on behalf of
>> > Manuel Mendoza <mmendoza using mncn.csic.es>
>> > Sent: Friday, June 22, 2018 10:15:55 AM
>> > To: r-help-es using 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 using 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 using 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



Más información sobre la lista de distribución R-help-es