[R-es] Codigo

Carlos Ortega cof en qualityexcellence.es
Lun Mayo 30 16:33:09 CEST 2016


Hola Andrés,

Entonces todo esto lo puedes hacer con un bucle "for".
Entiendo que tienes unos datos del tipo:

Lote     V1          V2             Vn
------- -------  ----------    --------
Lote_1 valor11 valor12.... valor1n
...
Lote_N valorN1 valorN2....valorNn




Y tras procesarlo lo conviertes en algo así como

Lote     V1          V2             Vn         Vn+1            VM
------- -------  ----------    --------  -----------  ----------
Lote_1 valor11 valor12.... valor1n valor1n+1..valor1M
...
Lote_N valorN1 valorN2....valorNn valorNn+1...valorNM


Lo que harías con un bucle es incluir en cada ciclo todas esas
transformaciones que haces ahora en pasos para un "Lote_i".

for (i in 1:nrow(conjunto_Inicial) {
  conjunto_Inicial$Vn+1[i] <-
una_transformacion_en_fila_i_del_conjunto_Inicial_sobre_1_o_varias_vars
  ......
  conjunto_Inicial$VM[i] <-
otra_transformacion_en_fila_i_del_conjunto_inicialsobre_1_o_varias_vars
}


El resultado del bucle será un conjunto_Final, con las nuevas columnas
añadidas o alguna existente transformada.

¿Es esto lo que buscabas?...

Gracias,
Carlos.




El 30 de mayo de 2016, 16:19, Andres Hirigoyen <andreshirigoyen en gmail.com>
escribió:

> Carlos, capaz no me explique bien, va de nuevo...
> Tengo un dataFrame con varias variables que describen Lotes (127), he
> creado un código que calcula nuevas variables, re codifica otras y ordenas
> otras tantas. Es muy laborioso correr ese código 127 veces por lo cual
> quería hacer un sentencia (del tipo if() o repeat()), para obtener al final
> todos los lotes procesados.
>
> Saludos y gracias por tan rápida respuesta
>
>
> El 30 de mayo de 2016, 11:06, Carlos Ortega <cof en qualityexcellence.es>
> escribió:
>
>> Hola,
>>
>> Puedes utilizar el código de Oliver utilizando la librería "broom" que
>> permite obtener los parámetros (coeficientes) y características del modelo
>> (null.deviance, AIC, BIC) en un cómodo data.frame
>>
>> El código sería algo así como esto.
>>
>> library(broom)
>> L <- list(L1, L2..., L120)
>>
>> ajuste <- function(L) {
>>        g <- glm(y ~., data = L)
>>        g_df <- tidy(g) #tidy es una función del paquete "broom" que
>> devuelve los coeficientes y sus errores.
>>        return(g_df)
>> }
>>
>> fit <- apply(L, ajuste)
>>
>>
>> Saludos,
>> Carlos Ortega
>> www.qualityexcellence.es
>>
>> El 30 de mayo de 2016, 15:15, Andres Hirigoyen <andreshirigoyen en gmail.com
>> > escribió:
>>
>>> Oliver gracias por le pista!
>>> Es un poco mas complicado, el código tiene varios pasos incluidos calculo
>>> de nuevas variables con los betas del glm y otras vueltas. Necesitaría
>>> una
>>> sentencia que tome cada lote haga los cálculos por separado y luego los
>>> une
>>> en el dataframe de salida
>>>
>>> El 30 de mayo de 2016, 10:02, Olivier Nuñez <onunez en unex.es> escribió:
>>>
>>> > Mira lapply ....
>>> >
>>> > Si L= list(L1,L2,...,L120) es una lista de tus lotes
>>> >
>>> > ajuste <- function(L) glm(y~x,data=L)
>>> > fit=lapply(L1,ajuste)
>>> >
>>> > donde "fit" es la lista de 120 ajustes.
>>> >
>>> > Un saludo. Olivier
>>> >
>>> > ----- Mensaje original -----
>>> > De: "Andres Hirigoyen" <andreshirigoyen en gmail.com>
>>> > Para: r-help-es en r-project.org
>>> > Enviados: Lunes, 30 de Mayo 2016 14:55:19
>>> > Asunto: [R-es] Codigo
>>> >
>>> > Buenos días tengo una consulta sobre un código rutinario que quiero
>>> > ejecutar.
>>> >
>>> > Tengo 120 Lotes con un ID diferente (del C001 al C120) a cada uno de
>>> los
>>> > cuales debo efectuares un GLM y con los parámetros obtenidos calcular
>>> otras
>>> > variables para luego hacer gráficas, razón por la cual no puedo
>>> procesarlos
>>> > todos juntos.
>>> > Intente hacer una sentencia repeat() o con for() para que me ejecute de
>>> > forma individual cada lote y no tener que hacerlo a mano, pero no me
>>> > sale...
>>> > ¿¿Alguna idea??
>>> >
>>> >         [[alternative HTML version deleted]]
>>> >
>>> > _______________________________________________
>>> > R-help-es mailing list
>>> > R-help-es en r-project.org
>>> > https://stat.ethz.ch/mailman/listinfo/r-help-es
>>> >
>>>
>>>         [[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> R-help-es mailing list
>>> R-help-es en r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>
>>
>>
>>
>> --
>> Saludos,
>> Carlos Ortega
>> www.qualityexcellence.es
>>
>
>


-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

	[[alternative HTML version deleted]]



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