Skip to content
Back to formatted view

Raw Message

Message-ID: <4309CB70.1060707@stats.uwo.ca>
Date: 2005-08-22T12:56:16Z
From: Duncan Murdoch
Subject: vectors of different length in a matrix
In-Reply-To: <4309C8E9.3090804@ufz.de>

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