Skip to content
Prev 4095 / 398506 Next

generating a sequence

OK, so we have now seen essentially three solutions:

Me:

A <- matrix(1, n-1, n-1)
rA <- row(A)
rA[rA + col(A) <= n]

Jonathan Rougier:

rA <- outer(1:n, 1:n, "-")
rA[rA>=1]

Andy Royle:

sequence((n-1):1)

Timings for n=500 on a 1994 Sun Sparc 20:

3.29, 4.68 and 23.86 seconds.

I deliberately did not use outer, as it calls apply and 
is normally quite slow.  row and col are internal operations and fast.