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

From: Jari Oksanen <jarioksa_at_sun3.oulu.fi>
Date: Mon 22 Aug 2005 - 23:32:21 EST

On Mon, 2005-08-22 at 16:13 +0300, Jari Oksanen wrote:
> On Mon, 2005-08-22 at 08:56 -0400, Duncan Murdoch wrote:
> > 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.
> >
> Another issue is that this would fail at the next step outlined in the
> original message ("vegan - vegdist - horn"), since that step won't
> accept NAs.

Uh. It seems that I should read the package documentation (and posting guide which tells me to do so): it seems that vegdist() *can* handle NAs. I do still think that data with NA probably makes no sense with alternative "horn".

cheers, jari oksanen

R-help@stat.math.ethz.ch mailing list