Tengo una variable llamada Started
que es la fecha en la que los sujetos humanos se inscribieron en un estudio y otra variable llamada dos1
que es la fecha en la que el sujeto tuvo cirugía por última vez. Quiero calcular cuántos meses han pasado desde su última cirugía hasta el día de la inscripción. Probé:Tener resta lubricante devolver solo un valor numérico
as.period(syrrupan$Started-syrrupan$dos1,units=c("month"))
esperaba que esto me da algo así como:
14, 18, 1, 26
Con cada número es el número de meses.
En vez me sale:
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?
En ese caso, podría dividir el resultado anterior por 30.44. – James
difftime es del paquete base. Como las columnas eran "Fecha", también pude ingresar syrrupan $ Started-syrrupan $ dos1, que creó un vector de clase "difftime" en días. Por cierto, la sintaxis de difftime no permite el signo menos, sino que debe ser solo una coma. Para obtener meses y tener solo un valor significativo después del decimal que utilicé en redondo (como .numérico (difftime (syrrupan $ Started, syrrupan $ dos1, units = "days"))/30.44,1). En lubridate pude hacer esta ronda (como.numérico (como.duración (syrrupan $ Started-syrrupan $ dos1))/60/60/24/30.44,1) que parece torpe. – Farrel
Lo siento, sí, el signo menos entró sigilosamente cuando copié los nombres de las variables de la pregunta. Ya arreglé la respuesta. – James