gpt4 book ai didi

R:创建 xts 对象的动态列表

转载 作者:行者123 更新时间:2023-12-05 00:27:25 24 4
gpt4 key购买 nike

疯狂地尝试创建某种类型的包含 xts 对象的列表/数据框。

我正在尝试遍历一个字符串向量(每个都是一个经济的“股票代码”),并使用 quantmod 包中的 getSymbols 函数为每个字符串创建一个 xts 对象(每个“股票代码”的长度不同)。然后我想让每个 xts 对象成为数据框中的一个数据点。我还计划在数据框中包含一些关联数据(例如,每个 xts 对象中的最大日期,以及我在别处指定的“标题”等),但我可以自己处理。

只是试图创建一个 xts 对象列表让我发疯。当我尝试这样的事情时,我总是会得到一个字符串列表:

test <- list()

for (i in 1:length(fredTickers))
{# import Data from FRED database
# this creates a list of strings, I'm hoping for list of xts objects...
test[i] <- getSymbols(fredTickers[i],src="FRED")
# xts objects are created for each, but not assigned to the list
}

# this creates an xts object named EVANQ.
# The test2 object is just a string with value "EVANQ".
test2 <- getSymbols("EVANQ",src="FRED")

处理这些 xts 对象让我发疯。我尝试了很多技巧。

感谢您的帮助。

最佳答案

文档中多次说明,默认情况下,对象被分配给全局环境,而不是明确返回。指定 auto.assign=FALSE 来做相反的事情。还记得'[' 和'[[' 之间的区别。

tickers <- c("F", "YHOO")
test <- list()

for (i in 1:length(tickers)) {
test[[i]] <- getSymbols(tickers[i], src="yahoo", auto.assign=FALSE, return.class="xts")
}

head(test[[1]])
F.Open F.High F.Low F.Close F.Volume F.Adjusted
2007-01-03 7.56 7.67 7.44 7.51 78652200 7.18
2007-01-04 7.56 7.72 7.43 7.70 63454900 7.36
2007-01-05 7.72 7.75 7.57 7.62 40562100 7.29
2007-01-08 7.63 7.75 7.62 7.73 48938500 7.39
2007-01-09 7.75 7.86 7.73 7.79 56732200 7.45
2007-01-10 7.79 7.79 7.67 7.73 42397100 7.39

class(test[[1]])
[1] "xts" "zoo"

关于R:创建 xts 对象的动态列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20738904/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com