adjustOHLC - potrzebujesz rozwiązania do przechodzenia przez wektor znaków pasków

To, co chcę zrobić, jest dość łatwe, ale nie byłem w stanie tego zrozumieć. Myślałem, że mógłbym zrobić coś podobnego do tego, co zostało opisanetutaj

Mam wektor znaków pasków, które są obiektami OHLC xts zwróconymi przezgetSymbols. Chcę przechodzić przez każdy pasek symboli i przekazywać symbol doadjustOHLC dostosować do podziałów:

<code>symbols = c("FCX", "SPY")

for(symbol in symbols){
  return(adjustOHLC(symbol,adjust =c("split"), use.Adjusted=FALSE))
}
</code>

Wydaje sięadjustOHLC niechwycić wartość zmiennej „symbol”:

<code>debug: div <- getDividends(symbol.name)
Browse[2]> symbol.name
[1] "symbol"
Browse[2]> 
Error in download.file(paste(yahoo.URL, Symbol.name, "&a=", from.m, "&b=",  : 
  cannot open URL 'http://ichart.finance.yahoo.com/table.csv?s=symbol&a=0&b=01&c=1970&d=3&e=14&f=2012&g=v&ignore=.csv'
In addition: Warning message:
In download.file(paste(yahoo.URL, Symbol.name, "&a=", from.m, "&b=",  :
  cannot open: HTTP status was '404 Not Found'
</code>

Jeśli używamget(symbols) Otrzymuję ten sam wynik (podobne podejście zastosowano w linku, który pokazuję na górze tego posta):

<code>for(symbol in symbols){
  return(adjustOHLC(get(symbol),adjust =c("split"), use.Adjusted=FALSE))
}

debug: div <- getDividends(symbol.name)
Browse[2]> symbol.name
[1] "get(symbol)"
Browse[2]> 
Error in download.file(paste(yahoo.URL, Symbol.name, "&a=", from.m, "&b=",  : 
  cannot open URL 'http://ichart.finance.yahoo.com/table.csv?s=get(symbol)&a=0&b=01&c=1970&d=3&e=14&f=2012&g=v&ignore=.csv'
In addition: Warning message:
In download.file(paste(yahoo.URL, Symbol.name, "&a=", from.m, "&b=",  :
  cannot open: HTTP status was '404 Not Found'
</code>

Myślałem, że mogę również skorzystaćlapply aby to zrobić szybciej, ale myślę, że utknąłem w powyższej kwestii.

lapply(symbols, function(x) adjustOHLC(x, adjust=c("split"), use.Adjusted=FALSE) )

Wydaje się dość łatwe - przepraszam, jeśli to takie trywialne. Doceń pomoc.

questionAnswers(1)

yourAnswerToTheQuestion