将csv文件作为ts加载

时间:2015-07-04 23:23:41

标签: r csv time-series

以下是特定股票的月度价格;

Year    Jan     Feb     Mar     Apr     May     Jun     Jul     Aug     Sep     Oct     Nov     Dec
2008    46.09   50.01   48      48      50.15   43.45   41.05   41.67   36.66   25.02   22.98   22
2009    20.98   15      13.04   14.4    26.46   14.32   14.6    11.83   14      14.4    13.07   13.6
2010    15.31   15.71   18.97   15.43   13.5    13.8    14.21   12.73   12.35   13.17   14.59   15.01
2011    15.3    15.22   15.23   15      15.1    14.66   14.8    12.02   12.41   12.9    11.6    12.18
2012    12.45   13.33   12.4    14.16   13.99   13.75   14.4    15.38   16.3    18.02   17.29   19.49
2013    20.5    20.75   21.3    20.15   22.2    19.8    19.75   19.71   19.99   21.54   21.3    27.4
2014    23.3    20.5    20      22.7    25.4    25.05   25.08   24.6    24.5    21.2    20.52   18.41
2015    16.01   17.6    20.98   21.15   21.44   0       0       0       0       0       0       0

我想将数据分解为季节性和趋势数据,但我没有得到结果。 如何将数据加载为" ts"类数据,所以我可以分解它?

2 个答案:

答案 0 :(得分:1)

以下是使用tidyr的解决方案,该解决方案非常容易使用。

library(dplyr); library(tidyr)
data %>% gather(month, price, -Year) %>% # 1 row per year-month pair, name the value "price"
  mutate(synth_date_txt= paste(month,"1,",Year), # combine month and year into a date string
         date=as.Date(synth_date_txt,format="%b %d, %Y")) %>% # convert date string to date
  select(date, price) # keep just the date and price

#          date price
# 1  2008-01-01 46.09
# 2  2009-01-01 20.98
# 3  2010-01-01 15.31
# 4  2011-01-01 15.30
# 5  2012-01-01 12.45

这为您提供了日期格式的答案(即使您没有指定日期,只是一个月和一年)。它应该适用于您的时间序列分析,但如果您确实需要时间戳,则可以使用as.POSIXct(date)

答案 1 :(得分:0)

迈克,

程序是R,以下是我试过的代码。

        import time 
        t3=time.time() 
        result = print_method(
            filename,
            dpi=dpi,
            facecolor=facecolor,
            edgecolor=edgecolor,
            orientation=orientation,
            bbox_inches_restore=_bbox_inches_restore,
            **kwargs)
        t4=time.time()
        print("LOG:       backend_bases          -----",t4-t3)