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

Marcelino de la Cruz Rot m@rcelino@del@cruz @ending from urjc@e@
Lun Jun 25 12:02:52 CEST 2018


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



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