我正在尝试创建
这个 S&P500 样本的
xts
对象。这是我正在使用的代码:
sp500 <- read.csv2("SP500.csv",
stringsAsFactors = F,
header = T,
sep = ",",
na.strings = ".")
sp500$DATE <- as.Date(sp500$DATE)
sp500$SP500 <- as.numeric(sp500$SP500)
library(xts)
sp500idx <- xts(sp500$SP500, order.by = as.Date(sp500$DATE))
当我检查
str(sp500idx)
时,这似乎有效。然而,当我尝试通过简单地输入 sp500idx
来打印新对象时,我得到以下信息:
!> sp500idx
m.c.seq.row..seq.n...seq.col..drop...FALSE.
2014-03-10 1877.17
2014-03-11 1867.63
2014-03-12 1868.20
2014-03-13 1846.34
2014-03-14 1841.13
2014-03-17 1858.83
2014-03-18 1872.25
2014-03-19 1860.77
2014-03-20 1872.01
2014-03-21 1866.52
...
2014-07-15 1973.28
2014-07-16 1981.57
2014-07-17 1958.12
2014-07-18 1978.22
2014-07-21 1973.63
2014-07-22 1983.53
2014-07-23 1987.01
2014-07-24 1987.98
2014-07-25 1978.34
2014-07-28 1978.91
此输出中的第一行是什么意思,即
m.c.seq.row..seq.n...seq.col..drop...FALSE.
我有一种感觉,这与
xts
对象中的观察数量有关。感谢您的帮助!
为了使其自包含,我们将在最后的注释中生成输入文件。然后使用
read.csv.zoo
读取它并将其转换为 xts。
library(xts)
sp500 <- "SP500.csv" |> read.csv.zoo(drop = FALSE) |> as.xts()
sp500
## SP500
## 2014-03-10 1877.17
## 2014-03-11 1867.63
## 2014-03-12 1868.20
Lines <- "DATE,SP500
2014-03-10,1877.17
2014-03-11,1867.63
2014-03-12,1868.20
"
cat(Lines, file = "SP500.csv")