[R] calculations combining values from different rows
William Dunlap
wdunlap at tibco.com
Fri Feb 10 03:54:09 CET 2012
Is the following give the answer you want? It is a
pretty literal transliteration of your idiom:
> a <- c(4,3,5,5,6,7,3,2,1,4)
> b <- c(2,4,1,2,5,3,1,8,7,5)
> i <- seq(2, length(a)-1, by=1)
> x <- rep(NA, length(a))
> x[i] <- -b[i-1]/24 * a[i-1] + b[i]/2 * a[i] + b[i+1]/24 * a[i+1]
> print(x)
[1] NA 5.875000 2.416667 6.041667 15.458333 9.375000 1.291667 8.166667
[9] 3.666667 NA
The filter() function makes it easier to generalize
> as.vector(filter(a*b, c(1/24, 1/2, -1/24), method="convolution"))
[1] NA 5.875000 2.416667 6.041667 15.458333 9.375000 1.291667 8.166667
[9] 3.666667 NA
(The as.vector is simply to get rid of the time-series-related attributes
that filter sticks on its result.)
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Sebastián Daza
> Sent: Thursday, February 09, 2012 6:26 PM
> To: r-help at r-project.org
> Subject: [R] calculations combining values from different rows
>
> Hi everyone,
> I looking for functions or systematic ways to do calculations between
> different columns and rows in R, as one can do easily in Excel. For
> example, I have two variables, a and b, where a1 represents an a value
> in row 1, and b2 represents a b value in row 2, etc.
>
> a <- c(4,3,5,5,6,7,3,2,1,4)
> b <- c(2,4,1,2,5,3,1,8,7,5)
> data <- cbind(a,b)
>
> I have to calculate something like this:
>
> x1 = NA
> x2 = -b1 /24 * a1 + b2 /2 * a2 + b3 /24 * a3
> x3 = -b2 /24 *a2 + b3 /2 * a3 + b4 /24 * a4
> x4 = -b3 /24 *a3 + b4 /2 * a4 + b5 /24 * a5
> ...
> x9 = -b8 /24* a8 + b9 /2 * a9 + b10 /24 * a10
> x10= NA
>
> For example, x2 would be equal to: -2/24*4 +4/2*3 + 1/24 *5
>
> Any ideas?
> Thank you in advance.
>
> --
> Sebastián Daza
>
> ______________________________________________
> R-help at 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.
More information about the R-help
mailing list