[R-es] programación básica
Javier Marcuzzi
javiermarcuzzi en me.com
Mar Nov 3 18:42:31 CET 2009
Trataré de explicar de otra forma
Supongamos que hoy es 1º de enero y hacemos el análisis
Tengo por un lado el número de animal, 1,2,3,4
A cada animal le corresponden fechas de inicio, por ejemplo el animal
1 tiene dos fechas de inicio 1º de enero y 1º de diciembre.
Cada animal puede o no tener fecha de final, por ejemplo el animal 1
tiene fecha de final el 1º de noviembre, pero aún no tiene fecha de
final cuándo la fecha de inicio es 1º de diciembre.
Luego de la fecha de inicio 1º de enero vienen las fechas de control y
sus valores, 3º marzo 45, 4º de abril 30, 3º septiembre 30.
Entonces en un data.frame tengo las columnas animal, fecha de inicio,
fecha de final, fecha de control, control.
La fórmula del cálculo es días entre la fecha de inicio a fecha del
primer control por el valor del control, luego entre a diferencias de
días entre los controles, en el ejemplo entre el 3º de marzo y 4º de
abril, luego entre 4º de abril y 3º septiembre, y a cada diferencia la
multiplico por el promedio de sus valores (45 + 30)/2 para el primer
caso. Al final es desde la última fecha de control hasta la fecha de
final, o desde el último control hasta el día de análisis (1º de enero).
Por lo que dentro del data.frame tengo que detectar para cada animal
la diferencia entre la fecha de inicio y la fecha de control, las
diferencias de días entre las fechas de controles sucesivas, y
detectar la fecha de final, para luego realizar los cálculos de
acuerdo a las fechas.
Si lo tendría en una planilla de cálculo hacía (A4-C4)*B4+(E4-
C4)*((B4+D4)/2)+ +++++
Pero el número de columnas depende y es distinto para cada animal, y
los datos no están en columnas, están de esta forma
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
Más información sobre la lista de distribución R-help-es