[R-es] programación básica

Luciano Selzer luciano.selzer en gmail.com
Mar Nov 3 16:40:01 CET 2009


Hola Javier, la verdad es que está un poco confuso tu mail. No
entiendo muy bien que es lo que quieres hacer. Cada animal tiene un
solo registro? O varios? Podrías poner el código que has intentado
usar?
Luciano



El día 3 de noviembre de 2009 11:20, Javier Marcuzzi
<javiermarcuzzi en me.com> escribió:
> Necesito algo de programación básica para resolver un problema, un
> inconveniente es que intente "if", cuándo se lo aplico digamos a x <- 5 no
> hay drama, pero si es a leche$litros me dice que solo se toma el primer
> elemento. Como pueden ver estoy re perdido.
>
> Mi problema: los datos están en un data.frame como el siguiente
>
>  animal     inicio        fin    control idlactancias Cle_KilosOrdenie1
>   DL
> 1    1482 2006-08-08 2007-08-23 2007-02-23         4353              11.4
> 199 days
> 2    1482 2004-08-08 2005-05-01 2004-12-21         4351              11.0
> 135 days
> 3    1482 2004-08-08 2005-05-01 2005-04-26         4351              11.0
> 261 days
> 4    1482 2005-05-02 2006-08-07 2005-05-24         4352               7.8
>  22 days
> 5    1482 2006-08-08 2007-08-23 2007-06-25         4353               7.8
> 321 days
> 6    1482 2005-05-02 2006-08-07 2005-12-26         4352               7.4
> 238 days
> 7    1482 2006-08-08 2007-08-23 2007-01-24         4353              14.8
> 169 days
> 8    1482 2006-08-08 2007-08-23 2007-07-24         4353               7.4
> 350 days
> 9    1482 2004-08-08 2005-05-01 2004-11-23         4351              16.2
> 107 days
> 10   1482 2005-05-02 2006-08-07 2005-07-26         4352               9.0
>  85 days
> 11   1482 2006-08-08 2007-08-23 2006-11-20         4353              20.2
> 104 days
> 12   1482 2005-05-02 2006-08-07 2005-08-24         4352               9.4
> 114 days
> 13   1482 2006-08-08 2007-08-23 2007-04-26         4353              10.2
> 261 days
>
>
> Por cada animal tengo fecha de inicio, fecha de final, y entre estas fechas
> de control. En la fecha de inicio y final no hay control, salvo que justo
> ese día se realice el control, pero los controles son una vez al mes, por lo
> cuál es mucha casualidad. En los controles se realizan mediciones, por lo
> cuál hay una fecha y un número asociado a esa fecha.
>
> La formula matemática es desde el inicio hasta la fecha del primer control,
> entre las fechas de controles, y desde la fecha de ultimo control a la fecha
> de fin. Los números se multiplican por la diferencia de días entre las
> fechas, salvo los dos extremos.
>
> El problema radica en que los datos no son por ejemplo, inicio, control 1,
> control 2, control 3, fin. Pudiendo hacer una hoja de calculo resolviendo
> rápidamente el inconveniente, cada animal tiene inicio, diferente números de
> fechas de control con sus números,  y casi todos fecha de final, porque hay
> algunos que no llegaron al final, entonces tienen inicio, dos controles y
> cuándo pase el tiempo ...
>
> Lo que yo pené es buscar la menor fecha por animal, la mayor fecha por
> animal, de esta forma tengo la fecha de inicio y final, y luego las fechas
> que se encuentren entre estas dos. Teniendo estas fechas puedo aplicar la
> formula que tiene las tres partes inicio, entre controles, final. Claro que
> todo esto se debe realizar por todo el data.frame y para todos los animales.
> El resultado final es un número que resume todo lo producido entre la fecha
> inicial y final (o hasta donde se midió), por cada animal.
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



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