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 de ejercicio
- Se han creado tres cadenas de caracteres que representan fechas. Conviértelas en fechas utilizando
as.Date()
y asígnalas adate1
,date2
ydate3
, respectivamente. El código paradate1
ya 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
Pruebe este ejercicio completando este 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")