[R] vector math: calculating a rolling 12 row product?
Gabor Grothendieck
ggrothendieck at gmail.com
Tue Feb 28 16:41:16 CET 2006
Use as.matrix to convert your data frame to a matrix
and suppose we have this test data as a matrix:
mat <- matrix(seq(30*7), 30, 7)
Then try this:
library(zoo)
mat2 <- coredata(rapply(zoo(mat), 12, prod))
See:
library(zoo)
vignette("zoo")
and the various zoo help files for more info.
On 2/28/06, r user <ruser2006 at yahoo.com> wrote:
> I have a dataframe of numeric values with 30 "rows"
> and 7 "columns".
>
> For each column, beginning at "row" 12 and down to
> "row" 30, I wish to calculate the "rolling 12 row
> product". I.e., within each column, I wish to
> multiply all the values in row 1:12, 2:13,…19:30.
>
> I wish to save the results as a new dataframe, which
> will have 19 rows and 7 columns.
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>
More information about the R-help
mailing list