Crear horas y aplicarles formato
De forma similar a lo que sucedía en el trabajo con fechas, puedes utilizar as.POSIXct() para convertir una cadena de caracteres en un objeto POSIXct y format() para convertir un objeto POSIXct en una cadena de caracteres. De nuevo, tienes una gran variedad de símbolos:
%H: horas como número del sistema decimal (00-23)%I: horas como número del sistema decimal (01-12)%M: minutos como número del sistema decimal%S: segundos como número del sistema decimal%T: notación abreviada del formato típico%H:%M:%S%p: indicador AM/PM
Para obtener una lista completa de los símbolos de conversión, consulta la documentación de strptime en la consola:
?strptime
De nuevo, as.POSIXct() utiliza un formato predeterminado para aplicar coincidencia a cadenas de caracteres. En este caso, es %Y-%m-%d %H:%M:%S. En este ejercicio se hace abstracción de las diferentes zonas horarias.
Este ejercicio forma parte del curso
R intermedio
Instrucciones del ejercicio
- Convierte dos cadenas que representan marcas de tiempo,
str1ystr2, en objetosPOSIXctllamadostime1ytime2. - Utilizando
format(), crea una cadena a partir detime1que contenga solo los minutos. - De
time2, extrae las horas y los minutos como "hours:minutes AM/PM". Consulta el texto de la asignación anterior para buscar los símbolos de conversión correctos.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Definition of character strings representing times
str1 <- "May 23, '96 hours:23 minutes:01 seconds:45"
str2 <- "2012-3-12 14:23:08"
# Convert the strings to POSIXct objects: time1, time2
time1 <- as.POSIXct(str1, format = "%B %d, '%y hours:%H minutes:%M seconds:%S")
# Convert times to formatted strings