• Ir a navegación principal
  • Ir al contenido principal
  • Ir a la barra lateral primaria

Estadísticamente

  • Blog
  • Contacto
  • Lista de correo

18 junio, 2020 by Javier 1 comentario

Crear una Secuencia de Fechas en R

Vamos a seguir trabajando con fechas en R. En el día de hoy, vamos a suponer que quieres crear una secuencia de fechas en R, por ejemplo, un vector con los días que hay dentro de un mes, o un vector que contenga los meses dentro de un año, o incluso, un vector que almacene los días que hay entre dos fechas dadas.

Podemos utilizar la función seq de R para calcular la secuencia, especificando una fecha de comienzo, una fecha de final y el incremento de avance desde la fecha inicial hasta la fecha final.

Veamos un ejemplo:

s <- as.Date("2012-01-01")
e <- as.Date("2012-02-01")

A continuación, vamos a utilizar el comando seq para obtener el detalle de todos los días que hay entre las dos fechas dadas en el párrafo anterior:

seq(from=s, to=e, by=1)

[1] "2012-01-01" "2012-01-02"
"2012-01-03" "2012-01-04" "2012-01-05"
"2012-01-06" "2012-01-07" "2012-01-08"
"2012-01-09" "2012-01-10" "2012-01-11"
"2012-01-12" "2012-01-13" "2012-01-14"
"2012-01-15" "2012-01-16" "2012-01-17"
"2012-01-18" "2012-01-19" "2012-01-20"
"2012-01-21" "2012-01-22" "2012-01-23"
"2012-01-24" "2012-01-25" "2012-01-26"
"2012-01-27" "2012-01-28" "2012-01-29"
"2012-01-30" "2012-01-31" "2012-02-01"

¿Quieres aprender a programar R o Python?

Te aviso cada vez que publique

Please wait...

Gracias por suscribirte.

Una alternativa para obtener secuencias de fechas en R es utilizar el comando length.out en lugar de utilizar una fecha fin. Vamos a verlo también con diversos ejemplos:

  • Obtener el primer día del mes durante 12 meses / 1 año:
seq(from=s, by="month", length.out=12)

[1] "2012-01-01" "2012-02-01" "2012-03-01"
"2012-04-01" "2012-05-01" "2012-06-01"
"2012-07-01" "2012-08-01" "2012-09-01"
"2012-10-01" "2012-11-01" "2012-12-01"
  • Obtener la fecha de los próximos 4 trimestres:
seq(from=s, by="3 months", length.out=4)

[1] "2012-01-01" "2012-04-01"
"2012-07-01" "2012-10-01"
  • Obtener el primer día del mes durante 12 meses / 1 año:
seq(from=s, by="month", length.out=12)

[1] "2012-01-01" "2012-02-01" "2012-03-01"
"2012-04-01" "2012-05-01" "2012-06-01"
"2012-07-01" "2012-08-01" "2012-09-01"
"2012-10-01" "2012-11-01" "2012-12-01"
  • El primer día de cada año durante una década:
seq(from=s, by="year", length.out=10)

[1] "2012-01-01" "2013-01-01"
"2014-01-01" "2015-01-01" 
"2016-01-01" "2017-01-01"
"2018-01-01" "2019-01-01"
"2020-01-01" "2021-01-01"

Ten cuidado cuando utilices este tipo de comandos de secuencias en R, si estás cerca del final del mes, puede darte problemas:

seq(as.Date("2010-01-29"), by="month", len=3)

[1] "2010-01-29" "2010-03-01" "2010-03-29"
También te puede interesar  Paletas de Colores en R

Archivado en:Programar en R

Interacciones con los lectores

Comentarios

  1. Franklin Chiluisa dice

    1 julio, 2020 en 02:40

    Estimados tengo esta base y quiero filtrar las fechas desde marso 13 del 2020 en adelante y que al graficar en el eje x me aparezca la etiqueta de datos con la fecha
    mytimeseries= ts(data=mydata$HC,start =2020, frequency = 365)
    plot(mytimeseries)

    ï..Fecha
    HC
    1 1/1/2019 3
    2 2/1/2019 1
    3 3/1/2019 2
    4 6/1/2019 2
    5 8/1/2019 3
    6 10/1/2019 15
    7 11/1/2019 5

    Responder

Responder a Franklin Chiluisa Cancelar la respuesta

Tu dirección de correo electrónico no será publicada.

sidebar

sidebar-alt

2021 © N Theme by AsiThemes · N Theme on Genesis Framework · WordPress · Iniciar sesión
Si sigues utilizando este sitio asumiremos que estás de acuerdo con el uso de cookies para mejorar la experiencia del usuario.Vale