Gabor makes a good point about seq() vs a:b [a common gotcha for me].
I'll revise my original function to: > f <- function(a,n){(seq(length=a))[1:n]} > t(sapply(c(2,3,4,4,4,5,6,0),f,n=5)) [,1] [,2] [,3] [,4] [,5] [1,] 1 2 NA NA NA [2,] 1 2 3 NA NA [3,] 1 2 3 4 NA [4,] 1 2 3 4 NA [5,] 1 2 3 4 NA [6,] 1 2 3 4 5 [7,] 1 2 3 4 5 [8,] NA NA NA NA NA > rksh On 22 Aug 2006, at 13:55, Gabor Grothendieck wrote: > Here are two solutions. seq(length = ...) instead of > just seq(...) is so that v can possibly contain zeros. > > # data > v <- 3:5 > > # solution 1 - rbind/lapply > f <- function(n) { > s = seq(length = n) > replace(rep(NA, max(v)), s, s) > } > do.call(rbind, lapply(v, f)) > > # solution 2 - loop > mat <- matrix(NA, length(v), max(v)) > for(i in seq(v)) { > s <- seq(length = v[i]) > mat[i, s] <- s > } > > > On 8/22/06, Sara-Jane Dunn <[EMAIL PROTECTED]> wrote: >> Hi, >> >> I'm having trouble applying the matrix function. I'd like to be >> able to >> create a matrix of vectors filled in by rows, which are not all >> the same >> length, and so I need it to fill in NAs where applicable. >> >> It's easiest to explain with a simple example: >> >> Suppose vec = c(3,4,5). How can I form a matrix of the vectors >> 1:vec[j] >> for j=1:3? >> i.e. 1 2 3 NA NA >> 1 2 3 4 NA >> 1 2 3 4 5 >> I've tried matrix(c(1:vec[j]),nrow=max(j),ncol=max(vec)) but it will >> only give me a matrix with repeated values for j=1, like 1 2 3 1 >> 2 >> 3 1 2 3 1 >> 2 3 1 2 3 >> >> Also using the list function hasn't got me anywhere either.. >> >> Any help/ideas would be greatly appreciated! >> >> Many thanks, >> Sara-Jane Dunn >> >> -- >> This message (and any attachments) is for the recipient only... >> {{dropped}} >> >> ______________________________________________ >> R-help@stat.math.ethz.ch 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. >> > > ______________________________________________ > R-help@stat.math.ethz.ch 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. -- Robin Hankin Uncertainty Analyst National Oceanography Centre, Southampton European Way, Southampton SO14 3ZH, UK tel 023-8059-7743 ______________________________________________ R-help@stat.math.ethz.ch 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.