[R] code for "permutative" operation

Sascha Vieweg saschaview at gmail.com
Mon Mar 14 20:52:27 CET 2011


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, saschaview at gmail.com



More information about the R-help mailing list