Hola: Hace unos días consulte sobre como programar ...., encontré una solución, pero ahora me encuentro con un problema, creo que sencillo, pero tengo la mente cansada y no doy con lo justo. El código se encuentra al final del correo, pero tengo que hacer un data.frame con todos los resultados, algo como milk, fat, prot, lact y luego todos los resultados. Intento hacer una función, pero ..., cansado no se logra y quiero presentar el avance esta tarde. Sobre lo que pregunté en programación la vez anterior, utilicé animSci, se encuentra en desarrollo pero me sirvió. Ahora si, el código (bueno, lo que falta está en animSci). > for (i in 1:5){ + produccion <- lactYield(sheep[[i]])$yield + print(produccion) + } milk fat prot lact 310.67500 20.25071 16.16300 14.90246 milk fat prot lact 329.30000 21.10688 18.38016 15.54592 milk fat prot lact 171.550000 11.312535 NA 7.916945 milk fat prot lact 205.700000 12.977903 11.714892 9.272243 milk fat prot lact NA NA NA NA
Buenos dias Javier, Intenta lo siguiente y cuéntanos cómo te va: produccion <- matrix(NA, ncol = 4, nrow = 5) for (i in 1:5) produccion[i,] <- lactYield(sheep[[i]])$yield produccion Saludos, Jorge Ivan Velez 2009/11/30 Javier Marcuzzi <>> Hola: > Hace unos días consulte sobre como programar ...., encontré una solución, > pero ahora me encuentro con un problema, creo que sencillo, pero tengo la > mente cansada y no doy con lo justo. El código se encuentra al final del > correo, pero tengo que hacer un data.frame con todos los resultados, algo > como milk, fat, prot, lact y luego todos los resultados. Intento hacer una > función, pero ..., cansado no se logra y quiero presentar el avance esta > tarde. > > Sobre lo que pregunté en programación la vez anterior, utilicé animSci, se > encuentra en desarrollo pero me sirvió. > > Ahora si, el código (bueno, lo que falta está en animSci). > > > for (i in 1:5){ > + produccion <- lactYield(sheep[[i]])$yield > + print(produccion) > + } > milk fat prot lact > 310.67500 20.25071 16.16300 14.90246 > milk fat prot lact > 329.30000 21.10688 18.38016 15.54592 > milk fat prot lact > 171.550000 11.312535 NA 7.916945 > milk fat prot lact > 205.700000 12.977903 11.714892 9.272243 > milk fat prot lact > NA NA NA NA > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]]
Hola, tu problema es muy sencillo. De hecho estás haciendo las cosas más complicadas de lo que son al usar el loop for. Creo que está de más y se podría hacer con otras funciones. Hay varias soluciones #No estoy seguro que funcione... produccion <- data.frame()> for (i in 1:5){+ produccion[i,] <- lactYield(sheep[[i]])$yield + print(produccion) + } Otra forma es usar la librería plyr, supongo que sheep es una lista. En mi opinión usar plyr es mucho más simple ya que se ocupa de todo. library(plyr) produccion <- ldply(sheep, function(foo) lactYield(foo)$yield) Espero que funcione. Saludos Luciano El 30 de noviembre de 2009 10:34, Javier Marcuzzi <javiermarcuzzi@me.com>escribió:> Hola: > Hace unos días consulte sobre como programar ...., encontré una solución, > pero ahora me encuentro con un problema, creo que sencillo, pero tengo la > mente cansada y no doy con lo justo. El código se encuentra al final del > correo, pero tengo que hacer un data.frame con todos los resultados, algo > como milk, fat, prot, lact y luego todos los resultados. Intento hacer una > función, pero ..., cansado no se logra y quiero presentar el avance esta > tarde. > > Sobre lo que pregunté en programación la vez anterior, utilicé animSci, se > encuentra en desarrollo pero me sirvió. > > Ahora si, el código (bueno, lo que falta está en animSci). > > > for (i in 1:5){ > + produccion <- lactYield(sheep[[i]])$yield > + print(produccion) > + } > milk fat prot lact > 310.67500 20.25071 16.16300 14.90246 > milk fat prot lact > 329.30000 21.10688 18.38016 15.54592 > milk fat prot lact > 171.550000 11.312535 NA 7.916945 > milk fat prot lact > 205.700000 12.977903 11.714892 9.272243 > milk fat prot lact > NA NA NA NA > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]]
Muchas gracias: Funciona Como es que cuándo uno está cansado se complica con las cosas más sencillas. Gracias El 30/11/2009, a las 11:46, Jorge Ivan Velez escribió:> produccion <- matrix(NA, ncol = 4, nrow = 5) > for (i in 1:5) produccion[i,] <- lactYield(sheep[[i]])$yield > produccion