From P.Dalgaard at biostat.ku.dk  Tue Nov 11 19:31:17 2008
From: P.Dalgaard at biostat.ku.dk (Peter Dalgaard)
Date: Tue, 11 Nov 2008 19:31:17 +0100
Subject: [Rd] is.matrix
In-Reply-To: <d8858f220811111020j233d4d98j502c0079ace644e7@mail.gmail.com>
References: <d8858f220811111020j233d4d98j502c0079ace644e7@mail.gmail.com>
Message-ID: <4919CF75.3010202@biostat.ku.dk>

Daniel H?yer Iversen wrote:
> a=c(1,1,2);
> is.matrix(a) gives FALSE
> is.matrix(t(a)) gives TRUE
> is.matrix(t(t(a))) gives TRUE
> 
> Is this correct? Shouldn't all give FALSE?
> I think is.matrix should give FALSE when dimension is 1*n or n*1.

No this is correct. is.matrix() returns TRUE if and only if the argument
has a two-dimensional 'dim' attribute, and

 > dim(a)
NULL
> dim(t(a))
[1] 1 3
> dim(t(t(a)))
[1] 3 1

(And is.array() depends on having a 'dim' attribute of positive length, so

> dim(a) <- 3
> is.matrix(a)
[1] FALSE
> is.array(a)
[1] TRUE

)


-- 
   O__  ---- Peter Dalgaard             ?ster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark      Ph:  (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)              FAX: (+45) 35327907



[Rd] is.matrix
Peter Dalgaard