[R-es] Restar datetime, resultado erróneo
Emilio L. Cano
em||opezc@no @end|ng |rom gm@||@com
Mie Nov 27 10:04:08 CET 2019
Hola,
Una solución con el tidyverse (libridate):
library(lubridate)
horai <- hm(c("23:45", "01:50"))
if (horai[2] < horai[1]){
horai[2] <- horai[2] + days(1)
}
horai[2]-horai[1]
minutes(horai[2]-horai[1])
as.numeric(horai[2]-horai[1])
Saludos,
Emilio
> El 27 nov 2019, a las 9:37, Ruben Tobalina Ramirez <lagrimaescrita using gmail.com> escribió:
>
> Hola Javier,
>
> Entiendo que te refieres que lo idóneo sería poner bien el formato y la
> hora, es decir si un programa comienza a las 23:50 y es de hoy, por ejemplo
> su formato sería: 27/11/2019 23:50. Si el siguiente programa comienza a las
> 00:30, sería 28/11/2019 00:30. ¿Te refieres a esto?
> Totalmente de acuerdo, pero la pagina donde estoy webscrapeando los datos
> no lo tienen así, y no se me ocurre una forma de hacerlo.
>
> Acepto sugerencias.
>
> Un saludo!
>
> El mar., 26 nov. 2019 a las 18:44, Javier Marcuzzi (<
> javier.ruben.marcuzzi using gmail.com <mailto:javier.ruben.marcuzzi using gmail.com>>) escribió:
>
>> Estimados
>>
>> Depende, el paso de un día a otro da problemas, el ejemplo más simple es
>> comparar los valores de la bolsa de valores, suponiendo una acción de Tokio
>> contra la misma en Alemania, por decir algo, la cotización a las 12:25 del
>> 22 de marzo. Desde mi punto de vista, siempre es conveniente utilizar un
>> formato de fecha y hora universal, hay problemas que desaparecen, o
>> expresado de otra forma ya fueron solucionados al estandarizar los
>> problemas de fechas, horas, usos horarios, etc.
>>
>> Javier Rubén Marcuzzi
>>
>> El lun., 25 nov. 2019 a las 6:36, Ruben Tobalina Ramirez (<
>> lagrimaescrita using gmail.com>) escribió:
>>
>>> Pues es buena solución,
>>>
>>> muchas gracias Álvaro.
>>>
>>> El lun., 25 nov. 2019 a las 10:25, Álvaro Hernández Vicente (<
>>> alvarohv using um.es>)
>>> escribió:
>>>
>>>> Pues lo más rápido quizá sea sumarle los minutos totales que tiene un
>>>> día a los que te salgan negativos.
>>>>
>>>> -1315 + 24*60 = 125 min
>>>>
>>>> Un saludo
>>>> Álvaro
>>>>
>>>> El 25/11/19 a las 9:36, Ruben Tobalina Ramirez escribió:
>>>>> Buenos días,
>>>>>
>>>>> Tengo una lista de programas de televisión con sus horas de inicio y
>>> me
>>>>> gustaría encontrar la duración de cada uno. Para ello utilizo
>>> *strptime*
>>>>> para convertir las horas en formato *POSIXlt *y las resto con la
>>> función
>>>>> *difftime* . No tengo ningún problema salvo cuando un programa
>>> comienza
>>>>> antes de las 12 de la noche y termina después de la medianoche. Os
>>> pongo
>>>> un
>>>>> ejemplo:
>>>>>
>>>>> horai <- c("23:45", "01:50")
>>>>> horai.t <- strptime( horai, "%H:%M" )
>>>>>
>>>>> dur<-as.numeric(difftime(horai.t[2],horai.t[1],units ="min"))
>>>>>
>>>>> [1] -1315
>>>>>
>>>>> El resultado debería ser 125 minutos, pero creo que R entiende que la
>>>> 1:50
>>>>> es de la madrugada que el mismo día.
>>>>>
>>>>> ¿Se os ocurre alguna forma de solucionarlo?
>>>>>
>>>>> Muchas gracias!!
>>>>>
>>>>
>>>> _______________________________________________
>>>> R-help-es mailing list
>>>> R-help-es using r-project.org
>>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>>
>>>
>>>
>>> --
>>> Rubén.
>>>
>>> [[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> R-help-es mailing list
>>> R-help-es using r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>
>>
>
> --
> Rubén.
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es using r-project.org <mailto:R-help-es using r-project.org>
> https://stat.ethz.ch/mailman/listinfo/r-help-es <https://stat.ethz.ch/mailman/listinfo/r-help-es>
[[alternative HTML version deleted]]
Más información sobre la lista de distribución R-help-es