Спасибо, Двин! Все ваши решения сработали. У меня впереди много часов, дней и месяцев, пока я изучаю R ... Спасибо за вашу помощь.
ился с этим в течение некоторого времени. Недавно я начал использовать пакет QuantMod для анализа цен акций.
У меня есть тикер вектор, который выглядит следующим образом:
> tickers
[1] "SPY" "DIA" "IWM" "SMH" "OIH" "XLY" "XLP" "XLE" "XLI" "XLB" "XLK" "XLU" "XLV"
[14] "QQQ"
> str(tickers)
chr [1:14] "SPY" "DIA" "IWM" "SMH" "OIH" "XLY" "XLP" "XLE" ...
Я написал функцию myX для использования в вызове lapply для сохранения цен на каждую акцию в векторных тикерах. Он имеет следующий код:
myX <- function(tickers, start, end) {
require(quantmod)
getSymbols(tickers, from=start, to=end)
}
Я называю самодовольным
библиотека (quantmod) lapply (tickers, myX, start = "2001-03-01", end = "2011-03-11")
> lapply(tickers,myX,start="2001-03-01", end="2011-03-11")
[[1]]
[1] "SPY"
[[2]]
[1] "DIA"
[[3]]
[1] "IWM"
[[4]]
[1] "SMH"
[[5]]
[1] "OIH"
[[6]]
[1] "XLY"
[[7]]
[1] "XLP"
[[8]]
[1] "XLE"
[[9]]
[1] "XLI"
[[10]]
[1] "XLB"
[[11]]
[1] "XLK"
[[12]]
[1] "XLU"
[[13]]
[1] "XLV"
[[14]]
[1] "QQQ"
Это отлично работает. Теперь я хочу объединить цены закрытия для каждой акции в объект, который выглядит как
# BCSI.Close WBSN.Close NTAP.Close FFIV.Close SU.Close
# 2011-01-03 30.50 20.36 57.41 134.33 38.82
# 2011-01-04 30.24 19.82 57.38 132.07 38.03
# 2011-01-05 31.36 19.90 57.87 137.29 38.40
# 2011-01-06 32.04 19.79 57.49 138.07 37.23
# 2011-01-07 31.95 19.77 57.20 138.35 37.30
# 2011-01-10 31.55 19.76 58.22 142.69 37.04
Кто-то порекомендовал мне попробовать что-то вроде следующего:
ClosePrices <- do.call (объединить, lapply (тикеры, функция (x) Cl (get (x))))
Однако я попробовал различные комбинации этого без какого-либо успеха. Сначала я попробовал просто вызвать Лаппли с помощью Cl (x)
>lapply(tickers,myX,start="2001-03-01", end="2011-03-11") Cl(myX)))
> lapply(tickers,myX,start="2001-03-01", end="2011-03-11") Cl(x)))
Error: unexpected symbol in "lapply(tickers,myX,start="2001-03-01", end="2011-03-11") Cl"
>
> lapply(tickers,myX(x),start="2001-03-01", end="2011-03-11") Cl(x)))
Error: unexpected symbol in "lapply(tickers,myX(x),start="2001-03-01", end="2011-03-11") Cl"
>
> lapply(tickers,myX(start="2001-03-01", end="2011-03-11") Cl(x)
Error: unexpected symbol in "lapply(tickers,myX(start="2001-03-01", end="2011-03-11") Cl"
> lapply(tickers,myX(start="2001-03-01", end="2011-03-11") Cl(x))
Error: unexpected symbol in "lapply(tickers,myX(start="2001-03-01", end="2011-03-11") Cl"
>
Любое руководство будет любезно оценено.