ts 函数在 R 中有什么作用

Dis*_*ana 1 r time-series

我已经下载的历史价格Jan-1-2010和Dec-31-2014对Twitter的公司(TWTR)-NYSE从YAHOO!金融在twitter.csv文件。

然后我使用以下命令将其加载到RStudio中:

x = read.csv("Z:/path/to/file/twitter.csv", header=T,stringsAsFactors=F)
Run Code Online (Sandbox Code Playgroud)

这是表 x 的样子:

View(x)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

然后我使用ts 函数来获取 Adj.Close 的时间序列:

x.ts = ts(x$Adj.Close, frequency = 12, start=c(2010,1), end=c(2014,12)

x.ts
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

之前的结果是如何获得的?它们与表 x 数据确实不同。他们需要任何调整吗?

dpe*_*lta 5

您的问题是读取数据的比例。随着frequency = 12, start=c(2010,1), end=c(2014,12)你告诉函数,你每月有一个号码。如果您每天有一个号码,根据您的情况,您应该尝试:

    x.ts = ts(x$Adj.Close, frequency = 365, start=c(2010,1), end=c(2014,365)
Run Code Online (Sandbox Code Playgroud)

  • 在您的情况下,35.87 是第 1 行(2014-12-31)的值,那么您错误标记的“2010 年 2 月”实际上是第 2 行(2014-12-30)的值,依此类推。我忘了提到,如果您想正确构建时间序列,还应该颠倒数据的顺序。函数 `rev` 可能会派上用场,无论是应用在表上还是在传递给 `ts` 的参数中。 (2认同)