2018-03-11

Generar fechas aleatorias entre dos momentos en el tiempo con R

Problema

Deseamos generar un vector con fechas aleatorias entre dos momentos en el tiempo.

Solución

  • Opción 1: fechas
  • Con la función seq generamos una secuencia de fechas en incrementos de un día entre los dos momentos en el tiempo . Y posteriormente seleccioamos aleatoriamente 10.

    set.seed(1984)
    sample(seq(as.Date('2015-01-01'), as.Date('2017-01-01'), by = "day"), 10)
    
  • Opción 2: fechas, horas, minutos y segundos.
  • Si necesitamos, además de las fechas, generar horas, minutos y segundos aleatorios, usamos as.POSIXct, y cambiamos el incremento especificando segundos (by = "sec") en la secuencia.

    set.seed(1984)
    sample(seq(as.POSIXct('2015-01-01'), as.POSIXct('2017-01-01'), by = "sec"), 10)
    

Resultados

  • Opción 1
  • [1] "2016-04-27" "2015-11-16" "2015-09-30" "2015-08-30" "2016-06-20"
    [6] "2016-09-19" "2015-01-24" "2015-11-21" "2016-08-23" "2015-06-05"
    
  • Opción 2
  • [1] "2016-04-26 15:04:13 CEST" "2015-11-16 10:17:23 CET" 
     [3] "2015-09-30 22:50:41 CEST" "2015-08-30 23:17:49 CEST"
     [5] "2016-06-23 04:49:01 CEST" "2016-09-22 14:37:58 CEST"
     [7] "2015-01-24 17:04:13 CET"  "2015-11-24 07:13:42 CET" 
     [9] "2016-08-29 16:13:13 CEST" "2015-06-06 21:29:18 CEST"
    

    Referencias

    No hay comentarios:

    Publicar un comentario

    Nube de datos