Tener retorno resta lubridate solamente un valor numérico
Pregunta
tengo una variable llamada Started
que es la fecha en la que los sujetos humanos incluidos en un estudio y otro variable llamada dos1
que es la fecha en la que el sujeto tenía la última cirugía. Quiero averiguar cómo muchos meses desde su última cirugía para el día de la inscripción. Probé:
as.period(syrrupan$Started-syrrupan$dos1,units=c("month"))
Me esperaba que esto me da algo como:
14, 18, 1, 26
Con cada número es el número de meses.
En lugar llego:
1 year, -4 months, -5 days and -1 hours 1 year, -5 months, -23 days and -1 hours 1 year, -7 months, 2 days and -1 hours 1 year, -8 months, -28 days and 1 hour 1 year, -7 months, -23 days and 1 hour.
¿Cómo puedo obtener sólo el valor numérico de meses?
Solución
Se podría tratar de usar difftime
lugar, es decir:
difftime(syrrupan$Started,syrrupan$dos1,units="days")
Tenga en cuenta que esto le dará un objeto de la clase difftime
, si quieres un vector numérico, envolver un as.numeric
alrededor de ella. Tenga en cuenta también que no se puede elegir meses como una opción para las unidades, pero que realmente debería seguir con una unidad de tiempo que tiene una longitud fija.
Otros consejos
Esto es definitivamente un error en lubridate. He hecho un informe de errores y fijaré para la versión 0.1:
http://github.com/hadley/lubridate/issues#issue/75
Gracias por traer a mi atención.