Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在r中将多个xts对象转换为多个data.frames_R_Dataframe_Xts - Fatal编程技术网

在r中将多个xts对象转换为多个data.frames

在r中将多个xts对象转换为多个data.frames,r,dataframe,xts,R,Dataframe,Xts,我正在尝试将全局环境中的多个xts对象转换为同名的多个data.frames。我正在尝试创建一个data.frames数组,该数组可以馈送到程序中 我的代码可以创建xts对象,但我必须返回手动转换每个xts对象,例如(LMT),而不是让getSymbols在全局环境中创建对象,创建一个新环境并告诉getSymbols在那里创建对象 require(quantmod) tickers <- c("REGN", "LMT", "ZN", "OXY", "PG", "WBA", "EXC")

我正在尝试将全局环境中的多个xts对象转换为同名的多个data.frames。我正在尝试创建一个data.frames数组,该数组可以馈送到程序中


我的代码可以创建xts对象,但我必须返回手动转换每个xts对象,例如(
LMT),而不是让
getSymbols
在全局环境中创建对象,创建一个新环境并告诉
getSymbols
在那里创建对象

require(quantmod)
tickers <- c("REGN", "LMT", "ZN", "OXY", "PG", "WBA", "EXC")     
dataEnv <- new.env()
getSymbols(tickers, from="2011-01-01", to="2015-08-07",  env=dataEnv)

您可以考虑<代码> TyDyQualt包来解决这个问题。您可以将代码提供给<代码> TQJGET()/Case>函数,它将返回一个具有所有价格的数据帧。您可以用尽可能多的股票符号来做这个。

library(tidyquant)
tickers <- c("REGN", "LMT", "ZN", "OXY", "PG", "WBA", "EXC")
tickers %>%
    tq_get(get  = "stock.prices",
           from = "2011-01-01",
           to   = "2015-08-07")

我尝试了这个,但出现了错误。tq_交易所(“NYSE”)%%>%tq_-get(get=“stock.prices”,from=“2011-01-01”,to=“2015-08-07”)错误消息是:Column
Symbol
不存在。纳斯达克改变了他们的网站。我还没来得及做(另一个)更新,但即将有一个解决方案。谢谢!我遵循了您提供的github链接。目前将使用json解决方案。直到tq_exchange()更新。
stocks <- eapply(dataEnv, as.data.frame)
library(tidyquant)
tickers <- c("REGN", "LMT", "ZN", "OXY", "PG", "WBA", "EXC")
tickers %>%
    tq_get(get  = "stock.prices",
           from = "2011-01-01",
           to   = "2015-08-07")
tq_index("SP500") %>%
    tq_get(get  = "stock.prices"
           from = "2011-01-01",
           to   = "2015-08-07")