Crear fechas y aplicarles formato
Para crear un objeto Date a partir de una simple cadena de caracteres en R, puedes utilizar la función as.Date(). La cadena de caracteres tiene que seguir un formato que puede definirse usando un conjunto de símbolos (los ejemplos corresponden al 13 de enero de 1982):
%Y: año de 4 cifras (1982)%y: año de 2 cifras (82)%m: mes de 2 cifras (01)%d: día del mes de 2 cifras (13)%A: día entre semana (miércoles)%a: día entre semana abreviado (mié)%B: mes (enero)%b: mes abreviado (ene)
Los siguientes comandos de R crearán todos el mismo objeto Date para el día 13 de enero de 1982:
as.Date("1982-01-13")
as.Date("Jan-13-82", format = "%b-%d-%y")
as.Date("13 January, 1982", format = "%d %B, %Y")
Fíjate en que la primera línea aquí no necesitaba un argumento de formato, porque, de forma predeterminada, R hace coincidir tu cadena de caracteres con los formatos "%Y-%m-%d" o "%Y/%m/%d".
Además de crear fechas, también puedes convertirlas en cadenas de caracteres que utilicen una notación de fecha diferente. Para ello, debes utilizar la función format(). Prueba con las siguientes líneas de código:
today <- Sys.Date()
format(Sys.Date(), format = "%d %B, %Y")
format(Sys.Date(), format = "Today is a %A!")
Este ejercicio forma parte del curso
R intermedio
Instrucciones del ejercicio
- Se han creado tres cadenas de caracteres que representan fechas. Conviértelas en fechas utilizando
as.Date()y asígnalas adate1,date2ydate3, respectivamente. El código paradate1ya está incluido. - Extrae información útil de las fechas como cadenas de caracteres utilizando
format(). En la primera fecha, selecciona el día de la semana. En la segunda fecha, selecciona el día del mes. En la tercera fecha, debes seleccionar el mes abreviado y el año de 4 cifras, separados por un espacio.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Definition of character strings representing dates
str1 <- "May 23, '96"
str2 <- "2012-03-15"
str3 <- "30/January/2006"
# Convert the strings to dates: date1, date2, date3
date1 <- as.Date(str1, format = "%b %d, '%y")
# Convert dates to formatted strings
format(date1, "%A")