" I am thinking that there should be an R command to tell me about the structure of series"
?str ## perhaps also/instead ?summary Cheers, Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Thu, Aug 9, 2018 at 2:29 PM, Peter Langfelder <peter.langfel...@gmail.com > wrote: > Well, your function uses AVB$AVB.Close, so I assumed AVB is a list (a > data frame can be thought of as a special list). What do you get when > you type class(AVB)? > > Peter > On Thu, Aug 9, 2018 at 2:24 PM rsherry8 <rsher...@comcast.net> wrote: > > > > Peter, > > > > Thanks for the response. I tired the following command: > > AVB[["AVB.Close"]] > > and I got: > > Error in AVB[["AVB.Close"]] : subscript out of bounds > > Are you assuming that AVB is a data frame? I do not think AVB is a data > > frame. Is there a way > > for me to check? > > Thanks, > > Bob > > > > On 8/9/2018 3:46 PM, Peter Langfelder wrote: > > > If I understand it correctly, the function getSymbols creates a > > > variable with the name being the stock symbol. Then use the function > > > get(symbol) to retrieve the value of the variable whose name is > > > contained in the character string `symbol'. Assign that to a variable > > > (e.g. AVB). You may also have to modify the names of the components > > > you retrieve from the list AVB. For that, you can use > > > AVB[["AVB.Close"]] instead of AVB$AVB.Close. You can them use > > > something like AVB[[paste0(symbol, ".Close"]] to generalize the > > > retrieval of list components. > > > > > > HTH, > > > > > > Peter > > > On Thu, Aug 9, 2018 at 12:40 PM rsherry8 <rsher...@comcast.net> wrote: > > >> > > >> I wrote the following function: > > >> > > >> # This method gets historical stock data for the stock Avalon Bay > whose > > >> symbol is AVB. > > >> getReturns <- function(norm = FALSE) > > >> { > > >> library(quantmod) > > >> > > >> getSymbols("AVB", src = "yahoo", from = start, to = end) > > >> length = length( AVB$AVB.Close ) > > >> close = as.numeric( AVB$AVB.Close ) > > >> cat( "length = ", length(close ), "\n" ) > > >> for( i in 1:length-1 ) > > >> diff[i] = ((close[i+1] - close[i]) ) / close[i] > > >> u = mean(diff) > > >> stdDev = sd(diff) > > >> cat( "stdDev = ", stdDev, "\n" ) > > >> > > >> if ( norm == TRUE ) { > > >> diff = (diff - u) > > >> diff = diff / stdDev > > >> } > > >> return (diff) > > >> } > > >> > > >> I would like to generalize it to work for any stock by passing in the > > >> stock symbol. So the header for the > > >> function would be: > > >> > > >> getReturns <- function(symbol, norm = FALSE) > > >> > > >> Now how do I update this line: > > >> length = length( AVB$AVB.Close ) > > >> This statement will not work: > > >> length = length( symbol$AVB.Close ) > > >> because the name that holds the closing price is a function of the > stock > > >> symbol. > > >> > > >> Thanks, > > >> Bob > > >> > > >> ______________________________________________ > > >> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > > >> https://stat.ethz.ch/mailman/listinfo/r-help > > >> PLEASE do read the posting guide http://www.R-project.org/ > posting-guide.html > > >> and provide commented, minimal, self-contained, reproducible code. > > > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/ > posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.