Series de Tiempo: Práctica 1

Sofía Guzmán León

19 de octubre de 2019

Series de Tiempo

La siguiente función realiza un gráfico que permite observar de la serie de tiempo y los valores que esta toma en el tiempo. La función recibe un único parámetro serie que puede ser la palabra “random” si el usuario quiere obtener la serie de manera aleatorio o el número del renglón de la serie que desea graficar. Por último, esta regresa una lista que guarda una base de datos con la serie de tiempo y gráfica de la misma.

Parámetros

  • serie: “random” si desea una serie de tiempo aleatoria ó el número de la serie que desea graficar.
get_and_plot<-function(serie) {
  if(serie=="random"){
    renglon<-sample(1:1001,1,replace=FALSE) #Genera número aleatorio
    a<-t(series[renglon, -c(1:7)]) #Obtiene datos de serie
    a <-na.omit(a); Serie1<-data.frame(Tiempo=c(1:length(a)), Serie=a)
    b<-ggplot(Serie1)+geom_line(aes(x=Tiempo, y=Serie), color="hotpink2", size=1.3)+
      geom_point(aes(x=Tiempo, y=Serie), color="black")+ggtitle(paste("Serie",renglon))+
      theme_bw()+ theme(plot.title = element_text(hjust = 0.5)) #Grafica
    return(list(Serie1,b)) #Regresa la serie de tiempo y grafica
  } else{
    renglon<-serie
    a<-t(series[renglon, -c(1:7)])
    a <-na.omit(a); Serie1<-data.frame(Tiempo=c(1:length(a)), Serie=a)
    b<-ggplot(Serie1)+geom_line(aes(x=Tiempo, y=Serie), color="hotpink2", size=1.3)+
      geom_point(aes(x=Tiempo, y=Serie), color="black")+ggtitle(paste("Serie",renglon))+
      theme_bw()+ theme(plot.title = element_text(hjust = 0.5))
    return(list(Serie1,b))
    
  }
}

Ejemplos

A continuación se presentan varios ejemplos que permiten poner a prueba la función declarada anteriormente. Los primeros dos ejemplos serán pidiendo una serie aleatoria # Ejemplo 1

e1<-get_and_plot(serie="random");e1
## [[1]]
##    Tiempo Serie
## 1       1   670
## 2       2   634
## 3       3   655
## 4       4   658
## 5       5   729
## 6       6   715
## 7       7   962
## 8       8    92
## 9       9   817
## 10     10   894
## 11     11   859
## 12     12   863
## 13     13   868
## 14     14   847
## 15     15   819
## 16     16   845
## 17     17   643
## 18     18   874
## 19     19   695
## 20     20   117
## 21     21   867
## 22     22   982
## 23     23   889
## 24     24  1265
## 25     25   964
## 26     26  1019
## 27     27  1066
## 28     28   992
## 29     29  1018
## 30     30   940
## 31     31  1001
## 32     32   279
## 33     33  1220
## 34     34  1204
## 35     35  1079
## 36     36  1235
## 37     37  1203
## 38     38  1449
## 39     39  1502
## 40     40  1429
## 41     41  1289
## 42     42  1482
## 43     43  1284
## 44     44   474
## 45     45  1375
## 46     46  1594
## 47     47  1641
## 48     48  1345
## 49     49  1688
## 50     50  1747
## 51     51  1555
## 52     52  1824
## 53     53  1523
## 54     54  1704
## 55     55  1484
## 56     56   570
## 57     57  1512
## 58     58  2120
## 59     59  1800
## 60     60  1815
## 61     61  2162
## 62     62  1246
## 63     63  1365
## 64     64  1523
## 65     65  1597
## 66     66  1392
## 67     67  1654
## 68     68   190
## 69     69  1525
## 70     70  1573
## 71     71   859
## 72     72   985
## 73     73  1227
## 74     74  1122
## 75     75   988
## 76     76  1200
## 77     77  1068
## 78     78  1294
## 79     79  1217
## 80     80   153
## 81     81  1451
## 
## [[2]]

Ejemplo 2 y 3

Los siguientes ejemplos se realizan pidiendo que se regrese una serie específica.

e2<-get_and_plot(serie=3); e2
## [[1]]
##    Tiempo  Serie
## 1       1   2142
## 2       2  12935
## 3       3  19130
## 4       4  30500
## 5       5  48177
## 6       6  57462
## 7       7  64420
## 8       8  67689
## 9       9  73598
## 10     10  92086
## 11     11 112223
## 12     12 126902
## 13     13 145346
## 14     14 180153
## 15     15 193760
## 16     16 213266
## 17     17 236272
## 18     18 265299
## 19     19 254948
## 20     20 266798
## 21     21 338846
## 22     22 374028
## 23     23 362207
## 24     24 440716
## 25     25 525201
## 26     26 559479
## 27     27 603419
## 28     28 684536
## 29     29 634477
## 
## [[2]]

e3<-get_and_plot(serie=10); e3
## [[1]]
##    Tiempo Serie
## 1       1 19.13
## 2       2 21.67
## 3       3 21.17
## 4       4 23.37
## 5       5 25.36
## 6       6 27.45
## 7       7 27.41
## 8       8 28.06
## 9       9 30.77
## 10     10 32.69
## 11     11 32.59
## 12     12 36.02
## 13     13 38.16
## 14     14 39.99
## 15     15 40.38
## 16     16 44.98
## 17     17 48.99
## 18     18 50.62
## 19     19 51.79
## 20     20 54.25
## 21     21 52.66
## 22     22 56.86
## 23     23 55.11
## 24     24 43.62
## 25     25 39.45
## 26     26 41.42
## 27     27 39.67
## 28     28 47.12
## 29     29 50.61
## 30     30 53.93
## 31     31 52.96
## 32     32 56.82
## 33     33 59.00
## 34     34 56.35
## 35     35 52.50
## 36     36 55.20
## 
## [[2]]