首页 > 解决方案 > R中使用ts()的多个时间序列

问题描述

我正在使用ts()R 中的函数从如下所示的 data.table 创建多个时间序列:

> head(fargo)
  month day year avg.temp penman.pet rainfall discharge snow.depth    soil.5   soil.10  soil.20  soil.30  soil.40  soil.50  soil.60  soil.80 soil.100 soil.125 soil.150
1    10   2 2014   14.049      4.115        0      1140          0 16.137500 15.681667 15.00667 14.74667 14.67250 14.58583 14.47667 14.13750 13.75917 13.20917 12.68500
2    10   3 2014    5.521      3.937        0      1100          0  9.898792 11.684583 13.44000 14.20208 14.45000 14.45667 14.38417 14.14375 13.78750 13.26750 12.74833
3    10   4 2014    4.411      3.251        0      1070          0  8.322625  9.880833 11.76000 12.97458 13.66625 13.97875 14.11125 14.05417 13.75250 13.26000 12.75458
4    10   5 2014    7.272      3.353        0      1070          0  8.636125  9.656250 11.12333 12.22417 12.96125 13.39417 13.68083 13.82792 13.63792 13.19875 12.71125
5    10   6 2014    9.480      4.699        0      1080          0  8.801125  9.616667 10.78500 11.74292 12.45333 12.92292 13.28083 13.57708 13.50875 13.15625 12.70708
6    10   7 2014    9.958      4.521        0      1090          0  9.789167 10.162083 10.90292 11.59917 12.17167 12.58958 12.95083 13.31208 13.34875 13.08542 12.69000

  soil.175 soil.200 soil.225      date top.soil.temp
1 12.13500 11.63417 11.07250 10/2/2014      15.39312
2 12.21042 11.68875 11.13458 10/3/2014      12.30636
3 12.21750 11.70708 11.15542 10/4/2014      10.73451
4 12.17875 11.70208 11.16042 10/5/2014      10.40997
5 12.19583 11.70208 11.16250 10/6/2014      10.23643
6 12.19708 11.70542 11.17333 10/7/2014      10.61333

我想要一个通用对象,它具有每个时间序列的每一列,这是我的变量。我试过跑

> fargo_ts <- ts(fargo, frequency = 1)
# Then check what type is the ts
> typeof(fargo_ts)
[1] "double"

那么我如何调用例如一个函数plot(fargo_ts),因为它是一个double并且它有多个 . 我可以参考 fargo_ts 中的特定时间序列plot(fargo_ts$discharge)吗?(在 Rstudio 我看到 fargo_ts 将在一个矩阵中)

我知道如何做的唯一方法是为每个变量创建一个时间序列对象,例如:

fargo_discharge_ts <- ts(fargo$discharge,  
                         start = 2014, 
                         end = 2020,
                         frequency = 1)

标签: rtime-series

解决方案


推荐阅读