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

Javier Marcuzzi j@vier@ruben@m@rcuzzi @ending from gm@il@com
Lun Jun 25 15:50:18 CEST 2018


Estimado Manuel Mendoza

Entonces el problema es simple, primero cree una estructura para almacenar
los datos mediante repeticiones, algún paste() en el medio, de tal forma
que quede como usted desea, para esto comience de cero, no mire el código
con errores para no confundirse, mire algún ejemplo como los que hay en
http://www.datasciencemadesimple.com/repeat-and-replicate-function-in-r/ ,
cree el andamiaje, con algo muy simple como almacenar tablas de multiplicar
en data.frames, luego reemplaza esa función por la función que busca los
datos en la base de datos.

Es la forma que yo tengo, aunque por ahí aparecen errores, por ejemplo
ahora se me cae el código luego de procesar 10 horas, y me pregunto que
pasó para que luego de miles de cosas bien aparezca algo que rompe el
proceso, y bueno, es así, la importación de datos tiene esos problemas.

Javier Rubén Marcuzzi

El lun., 25 jun. 2018 a las 7:03, Marcelino de la Cruz Rot (<
marcelino.delacruz using urjc.es>) escribió:

> El 25/06/2018 a las 11:23, Manuel Mendoza escribió:
> > Gracias Carlos, eso lo sé. El problema, probablemente una chorrada, es
> > que para cambiarle el nombre a las variables (de acuerdo a un patrón,
> > si, que incluye el nº de la iteración), debo indicar el nombre de la
> > df, pero éste no es siempre el mismo. Puedo darle un nombre fijo a la
> > df, ponerle el nombre a las variables, y al final del loop cambiarle
> > el nombre a la df, pero tampoco sé cómo ponerle un nombre nuevo que
> > incluye paste + el nº de iteración de los dos loops anidados. Sé como
> > crear ese nombre, con paste, pero no cómo ponérselo. Al decirlo así
> > parece una tontería, y a lo mejor lo es, pero me tiré un rato
> > intentándolo y no pude. Por eso acudí a vosotros.
>
> ¿Con assign(), como sugería Jesús?
>
> Saludos,
>
> Marcelino
>
>
>
>
>
>
>
> > Manuel
> >
> >
> > Quoting Carlos Ortega <cof using qualityexcellence.es>:
> >
> >> Hola,
> >>
> >> En cada iteración de tu bucle, puedes:
> >>
> >>    - Cambiar la matriz a data.frame.
> >>    - Nombrar las columnas incluyendo si quieres el número de la
> >> iteración
> >>    del bucle (tu "i").
> >>       - Esto lo puedes hacer utiizando la función "paste()".
> >>       - No sé si los nombres de las variables, en cada iteración han de
> >>       seguir algún patrón.
> >>
> >>
> >> Saludos,
> >> Carlos Ortega
> >> www.qualityexcellence.es
> >>
> >> El 22 de junio de 2018, 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
> >>>
> >>
> >>
> >>
> >> --
> >> Saludos,
> >> Carlos Ortega
> >> www.qualityexcellence.es
> >
> >
>
> --
> Marcelino de la Cruz Rot
> Depto. de Biología y Geología
> Física y Química Inorgánica
> Universidad Rey Juan Carlos
> Móstoles España
>
> _______________________________________________
> R-help-es mailing list
> R-help-es using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>

	[[alternative HTML version deleted]]



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