从xts对象中删除列并合并

时间:2019-06-10 10:31:08

标签: r

我需要将所有S&P500股票的收盘价调整为一个xts对象。

getSymbols("AAPL;AMZN;...")

我知道如何单独做

AAPL <- AAPL[,6]
AMZN <- AMZN[,6]

但是这样做500次会太多。

最后,我想合并它们。另外,我想合并它们。像这样

S&P <- AAPL;AMZN

1 个答案:

答案 0 :(得分:0)

使用environment分配股票,然后可以提取所需的股票。如果需要调整的列,Ad会更好。

e <- new.env()
stks <- "AAPL;AMZN;IBM;MSFT;GOOG;TSLA"
getSymbols(stks, env = e)

sp=eapply(env = e,Ad)
spf=do.call("merge",sp)
tail(spf)

# > tail(spf)
#                TSLA.Adjusted AAPL.Adjusted IBM.Adjusted GOOG.Adjusted AMZN.Adjusted MSFT.Adjusted
# 2019-05-31        185.16        175.07       126.99       1103.63       1775.07        123.68
# 2019-06-03        178.97        173.30       128.27       1036.23       1692.69        119.84
# 2019-06-04        193.60        179.64       132.69       1053.05       1729.56        123.16
# 2019-06-05        196.59        182.54       131.49       1042.22       1738.50        125.83
# 2019-06-06        205.95        185.22       132.22       1044.34       1754.36        127.82
# 2019-06-07        204.50        190.15       133.31       1066.04       1804.03        131.40