我是R的新手,刚刚开始使用它。我有三年的每周数据。我想将这个时间序列数据分解为趋势,季节和其他组件。我有以下疑虑:
ts()
或decompose()
如果我错了,请纠正我,频率是52。
先谢谢。我真的很感激任何帮助。
答案 0 :(得分:6)
欢迎来到R!
是的,频率为52.
如果数据尚未被归类为时间序列,则您需要ts()
和decompose()
。要查找数据集的类,请使用class(data)
。如果它返回"ts"
,则就R而言,您的数据已经是一个时间序列。如果它返回其他内容,例如"data.frame"
,那么您需要将其更改为时间序列。将变量分配给ts(data)
并再次检查该类以确保。
每个时间序列数据集sunspot.month
已经加载到R中,您可以练习。这是一个例子。您还可以通过撰写decompose
?decompose
的帮助文件
class(sunspot.month)
[1] "ts"
> decomp <- decompose(sunspot.month)
> summary(decomp)
Length Class Mode
x 2988 ts numeric
seasonal 2988 ts numeric
trend 2988 ts numeric
random 2988 ts numeric
figure 12 -none- numeric
type 1 -none- character
> names(decomp)
[1] "x" "seasonal" "trend" "random" "figure" "type"
> plot(decomp) # to see the plot of the decomposed time-series
对names
的调用表明您还可以访问单个组件数据。这可以使用$
运算符完成。例如,如果您只想查看季节性组件,请使用decomp$seasonal
。