Re: [R] vectors of different length in a matrix

From: Duncan Murdoch <>
Date: Mon 22 Aug 2005 - 22:56:16 EST

On 8/22/2005 8:45 AM, Marten Winter wrote:
> HI!
> I?ve 3 vectors of different length (a,b,c) and want to arrange them in a
> matrix a,b,c as rows and the figures of these vectors in the columns
> (with that matrix i want to calculate a distance between thes vectors -
> vegan - vegdist - horn). Is there a possibilty to create such a matrix
> and to fill up the missing fields with NA?s automatically????

Filling with NA's is the hard part; R normally likes to recycle vectors that are too short.

Here's one way, probably not the best:

x <- matrix(NA, 3, max(length(a), length(b), length(c)))

x[1,seq(along=a)] <- a
x[2,seq(along=b)] <- b
x[3,seq(along=c)] <- c

Another way to do it would be to extend all the vectors to the same length by appending NAs, then using rbind.

Duncan Murdoch mailing list PLEASE do read the posting guide! Received on Mon Aug 22 23:04:30 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:39:55 EST