You can use diff.zoo like this: library(zoo) z <- zoo(matrix(1:24, 6)) z diff(log(z))
# also try diff(z, arith = FALSE) - 1 See ?diff.zoo and read the three zoo vignettes (pdf documents): vignette(package = "zoo") # lists them vignette("zoo") etc. On Sun, Jun 6, 2010 at 11:11 PM, Anyi Zhu <anyi....@gmail.com> wrote: > Hi all, > > > > Thanks a lot for anyone's help in advance. > > > > I am trying to find a way to compute the day-to-day return (log return) from > a n x r matrix containing, n different stocks and price quotes over r days. > The time series of prices are already split by using unstack function. > > > > For the result, I would like to see a n x (r-1) matrix, where by each entry > is the day-over-day return of each stock. > > > > I tried to look into the zoo package, however it seems to give only the > plots but not the actual data. > > > > Would apply function work in this case? > > > > Thanks a lot! > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list > 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 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.