Hello, I need some form of a "permutative" operation on a numeric vector x

x = (v1, v2, v3, ..., vN)

that produces

x.r = (v1, v1+2, v1+v2+v3, ... v1+v2+...+vN)

If the operation is sum() I can run

x <- 5:8
m <- matrix(rep(x, length(x)), ncol=length(x))
(x.r <- rowsum(m * upper.tri(m, diag=TRUE), rep(1, length(x))))

But there's two things I don't know and kindly request help or comments upon:

(1) What is the fastest code to perfom the forestanding operation?

(2) Is there a more general function for tasks like this, not only with the sum procedure applied to the vector? Specifically, the zeros in the matrix may cause problems with other operations than sum.

Thanks, *S*


--
Sascha Vieweg, saschav...@gmail.com

______________________________________________
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.

Reply via email to