代码之家  ›  专栏  ›  技术社区  ›  Han08

将tibble转换为ts对象

r
  •  0
  • Han08  · 技术社区  · 4 年前

    我正试图从csv文件导入数据,将其转换为tibble,然后转换为ts对象。 我的问题是,当我绘制ts对象时,它每个月都会绘制一条单独的线,而我希望用一条线来显示多年的季节性。我无法提供数据,但我附上了以下代码和图表:

    tou<-read_csv("tou_mru.csv")%>%
      rename(month=`Month of arrival`)%>%
      subset(month!="Year",)%>%
      pivot_longer(-month, names_to = "years")%>%
      pivot_wider(names_from = month)%>%
      subset(select=January:December)# this provides me with columns for each month 
    
    tou_ts<-ts(data=tou,frequency=1,start=2009)
    autoplot(tou_ts)
    

    current plot with multiple lines, i need one with a single one

    0 回复  |  直到 4 年前
        1
  •  0
  •   Han08    4 年前

    好的,我找到了答案,把这个留在这里,以防有人面临同样的情况。 所以ts函数只适用于数值向量,这意味着我必须先将tibble转换为数值向量,然后再绘制。(下面做得很粗糙)

        autoplot(ts(as.vector(as.matrix(tou))[13:132],frequency = 12,start=2009))
    #we select only 13: 132 because 1:12 is the month header which ts puts naturally