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 <lagrimaescr...@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.marcu...@gmail.com <mailto:javier.ruben.marcu...@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 (< >> lagrimaescr...@gmail.com>) escribió: >> >>> Pues es buena solución, >>> >>> muchas gracias Álvaro. >>> >>> El lun., 25 nov. 2019 a las 10:25, Álvaro Hernández Vicente (< >>> alvar...@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@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@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@r-project.org <mailto:R-help-es@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]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es