vectors of different length in a matrix
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