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

From: Duncan Murdoch <murdoch_at_stats.uwo.ca>
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



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 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