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

Manuel Mendoza mmendoz@ @ending from mncn@c@ic@e@
Lun Jun 25 11:28:17 CEST 2018


Gracias Javier. Como explicaba en mi contestación a Carlos, el  
problema no está en escribir muchas líneas, ni en rizar el rizo,  
claro. El proceso se lo tengo que aplicar a unas cuantas bases de  
datos, y cada una de ellas me lleva un buen rato porque tengo que  
hacerlo con 9 criterios distintos. Si consigo hacer un loop que me  
haga los 9, que es lo que intento, me ahorrará tiempo.
Manuel



Quoting Javier Marcuzzi <javier.ruben.marcuzzi using gmail.com>:

> Estimado Manuel
>
> Justo ahora estoy trabajando en un proceso automatizado con código, pero la
> mayoría de las veces tengo ciento de líneas donde mucho es copiar y pegar
> más la modificación de una o dos palabras, podría ser un proceso que se
> ejecute según criterios hasta la condición, pero la verdad que el objetivo
> no es ganar un concurso de ingenio escribiendo código. Usted quiere entrar
> en una parte donde R tiene demasiadas posibilidades y criterios,
> posiblemente en eso python es más claro. Yo sí tengo que copiar y pegar
> cientos de líneas antes que un bucle para acomodar datos, lo hago, prefiero
> cientos de bucles pequeños en muchas líneas que pueda leer, antes que pocas
> líneas con bucles anidados, aunque el código parezca de principiante.
>
> Javier Rubén Marcuzzi
>
> El dom., 24 de jun. de 2018 4:23 PM, Manuel Mendoza <mmendoza using mncn.csic.es>
> escribió:
>
>>
>> Gracias Javier, pero creo que si no consigo que me lo haga todo de una
>> vez con un loop, me merece más la pena hacerlo como hasta ahora, una a
>> una.
>> Manuel
>>
>>
>>
>> Quoting Javier Marcuzzi <javier.ruben.marcuzzi using gmail.com>:
>>
>> > Estimado Manuel Mendoza
>> >
>> > No sería lo ideal, pero de pronto podría ir guardando en json, que es una
>> > forma no estructurada, luego toma los datos recorriendo este y crea una
>> > estructura de dataframe para continuar.
>> >
>> > Javier Rubén Marcuzzi
>> >
>> > El sáb., 23 jun. 2018 a las 8:04, Manuel Mendoza (<mmendoza using mncn.csic.es
>> >)
>> > escribió:
>> >
>> >>
>> >> 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
>> >>
>> >> _______________________________________________
>> >> 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
>>
>>


-- 
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