On Fri, 27 Jul 2007, Prof Brian Ripley wrote: > This is as doumented, and I think you could say the same thing of seq(). > BTW, sequence() allows negative inputs, and I don't think you want > sum(input) in that case.
help(sequence) says contradictory things about the nvec[i]==0 case: For each element of 'nvec' the sequence 'seq(nvec[i])' is created. ... and nvec: an integer vector each element of which specifies the upper bound ... 0 is not the upper bound of seq(0). In any case, a suitably general multisequence function would probably want vectors of both to's and from's. merge.data.frame() requires a combination of a vectorized sequence function and rep. It uses a .Internal to do the job well. (This is a case where the individual sequences typically have length one or zero.) > .Internal(merge(rep(1:3, c(3,0,5)), rep(1:4, c(2,2,3,2)), T, T)) $xi [1] 1 1 2 2 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 $yi [1] 1 2 1 2 1 2 5 6 7 5 6 7 5 6 7 5 6 7 5 6 7 $x.alone integer(0) $y.alone integer(0) sequence and rep produce complementary outputs, except in the nvec[i]==0 case. > rep(1:3, c(5,2,7)) # identifies group [1] 1 1 1 1 1 2 2 3 3 3 3 3 3 3 > sequence(c(5,2,7)) # which in group [1] 1 2 3 4 5 1 2 1 2 3 4 5 6 7 ---------------------------------------------------------------------------- Bill Dunlap Insightful Corporation bill at insightful dot com 360-428-8146 "All statements in this message represent the opinions of the author and do not necessarily reflect Insightful Corporation policy or position." ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel