[英]How to transform dataframe into time series in R?
我有一個名為data
的矩陣,其中存儲了以下數據:
set.seed(8000)
data <- matrix(sample(20,60,T),5)
data
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
[1,] 19 9 6 8 7 2 2 10 3 1 6 13
[2,] 7 15 6 19 5 6 17 4 18 17 1 6
[3,] 4 9 8 6 13 16 17 7 13 8 15 18
[4,] 14 15 5 4 19 13 16 6 16 19 11 6
[5,] 5 8 5 3 7 18 12 13 11 8 14 14
我想將此存儲為ts
對象,其列為一月至十二月的月份,行為1991-1995年。
data
Jan Feb Mar Apr May Jun July Aug Sep Oct Nov Dec
1991 19 9 6 8 7 2 2 10 3 1 6 13
1992 7 15 6 19 5 6 17 4 18 17 1 6
1993 4 9 8 6 13 16 17 7 13 8 15 18
1994 14 15 5 4 19 13 16 6 16 19 11 6
1995 5 8 5 3 7 18 12 13 11 8 14 14
基本上,如果我的數據以年(行)和月(列)存儲,那么如何將其存儲為時間序列對象? 我試着做:
data <- ts(data,freq=12,start=c(1991,1))
但是,這似乎不起作用,因為我以后無法繪制數據。 這是我收到的錯誤:
error: cannot plot more than 10 series as "multiple".
任何意見,將不勝感激。 謝謝!
data <- sample(20,60,T)
data <- ts(data,freq=12,start=c(1991,1))
提示:請附上您收到的警告/錯誤消息,以闡明“似乎沒有用”的意思。 但是,您的示例很好且可重現,但我得到了一個錯誤:不能將10個以上的序列繪制為“多個”。 您的問題是將數據保留為矩陣。 將上面的最后一行代碼替換為:
data <- ts(as.vector(t(data)),freq=12,start=c(1991,1))
它進行轉置(以使其按行矢量化),然后在傳遞給ts()之前轉換為單個矢量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.