[R-es] Codigo

Andres Hirigoyen andreshirigoyen en gmail.com
Lun Mayo 30 17:04:58 CEST 2016


Pruebo y confirmo. MUCHAS GRACIAS A TODOS!!!!!!!!!!!!

El 30 de mayo de 2016, 11:36, Bartolomé Marcos, José Antonio <
josea.bartolome en mineco.es> escribió:

> Sí llamamos DF al data.frame  que tienes y DF$ID es la variable con los ID
> de los lotes puede hacer con el código de que dispones lo siguiente (es
> equivalente a un bucle for):
>
> L <- unique(DF$ID)
> Hay que tener cuidado que  ID no sea un factor, si lo es
> L <- unique(as.character(DF$ID))
>
> Resultados <- lapply(L, function(x){
>
>         X <- subset(DF,  ID == x)
>
>         Aquí vendrían las operaciones que quieras hacer  con X (el
> data.frame para un solo ID o, como lo llamas,  lote)
>         hasta que obtienes el objeto que persigues, al que llamaré Z.
>
>         Y, por último
>
>         return(Z)
>
>
> })
>
> names(Resultados) <-  L
>
> Esta última instrucción te permite conocer a que lote corresponden los
> resultados.
>
> Resultados es una lista y puedes ver uno de ellos con Resultados[["C001"]]
> (por ejemplo).
>
> Espero haber sido de ayuda.
>
>
> -----Mensaje original-----
> De: R-help-es [mailto:r-help-es-bounces en r-project.org] En nombre de
> Andres Hirigoyen
> Enviado el: lunes, 30 de mayo de 2016 16:20
> Para: Carlos Ortega
> CC: Lista R
> Asunto: Re: [R-es] Codigo
>
> 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
> >
>
>         [[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]]



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