※ 引述《kindarex (花香满庭园)》之铭言:
: 程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
: [软件熟悉度]:
: 新手(没写过程式,R 是我的第一次)
: [问题叙述]:
: 各位高手大家好,谢谢上次高手说先了解时间序列分析
: 也开始在自学练习画图,但遇到同一个问题卡很久
: 我的资料是新竹2010-2014年1-12月的平均温度,
: 从Excel表整理好后汇入到Rstudio,开始按照youtube的影片教学
: 练习跟跟影片教学中https://www.youtube.com/watch?v=0gf5iLTbiQM
: 2小时07分开始进行练习
: 以下是我的资料
: > d<-read.csv("C:\\Users\\1503063\\Desktop\\平均温度.csv")
: > d
: Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
: 2010 15.9 16.7 19 20.3 25 26.5 29.9 29.6 28.1 24.3 20.9 16.4
: 2011 13.3 15.2 15.5 21 24.3 28.5 28.8 29.2 27.7 24.5 22.7 16.6
: 2012 15.3 14.9 17.4 23.3 25.8 27.8 29.7 28.6 26.8 23.9 21 17.3
: 2013 5.8 17.3 19.2 20.9 26 28.9 28.9 28.9 27.7 24.2 21 16.1
: 2014 15.6 15.4 18 22.3 25.3 28.3 30.4 29.9 29.6 24.7 22 16
: > myts <- ts(d, start=c(2010,1), end=c(2014,12), frequency=12)
: > class(myts)
(以下吃掉)
大概看了一下影片
你跟讲者不同的地方在于你的原始资料设定
虽然你的资料结构跟讲者一样(看起来
但是class却不同
我猜你是在excel就先把matrix的行列名称设好
但是如果你注意看影片
会发现讲者是读进numeric的资料
print出来的matrix是经过ts()转换之后(cola2)
你如果用str(cola2)去看 会发现他的结构长这样
Time-Series [1:100] from XXXX to XXXX: ...
class(cola2)
# [1] "ts"
但你的class(d)应该是"matrix"
所以我建议可以这样做
d <- matrix(runif(36), nrow = 3, ncol = 12)
dd <- seq(as.Date("2000/1/1"), by = "month", length.out = 12)
dd <- format(dd, "%b")
colnames(d) <- dd
rownames(d) <- c("2000", "2001", "2002")
# your imported data
d
Jan Feb Mar Apr May Jun Jul Aug Sep
2000 0.06464222 0.4859936 0.19107794 0.06705835 0.9428377 0.1095469 0.5137503 0.50677142 0.64370554
2001 0.27664552 0.1420115 0.08748821 0.23434808 0.6796937 0.8334102 0.3728003 0.30359776 0.18653139
2002 0.75141165 0.3336006 0.88925778 0.08978937 0.8929249 0.2680072 0.9846332 0.03387092 0.09410578
Oct Nov Dec
2000 0.4206437 0.05388721 0.5835108
2001 0.7170996 0.37223711 0.1542709
2002 0.2134047 0.52395925 0.5123901
# transform the matrix to be numeric vector
md <- as.numeric(t(d))
class(md)
# [1] "numeric"
myts <- ts(md, start = c(2000, 1), end = c(2002, 12), frequency = 12)
myts
Jan Feb Mar Apr May Jun Jul Aug Sep
2000 0.06464222 0.4859936 0.19107794 0.06705835 0.9428377 0.1095469 0.5137503 0.50677142 0.64370554
2001 0.27664552 0.1420115 0.08748821 0.23434808 0.6796937 0.8334102 0.3728003 0.30359776 0.18653139
2002 0.75141165 0.3336006 0.88925778 0.08978937 0.8929249 0.2680072 0.9846332 0.03387092 0.09410578
Oct Nov Dec
2000 0.4206437 0.05388721 0.5835108
2001 0.7170996 0.37223711 0.1542709
2002 0.2134047 0.52395925 0.5123901
class(myts)
# [1] "ts"
plot(myts)