The point was that c(1, 1, 2) is not a matrix but a vector, two distinct things in R.
> a <- c(1, 1, 2) > class(a) [1] "numeric" > ta <- t(a) > class(ta) [1] "matrix" > class(t(ta)) [1] "matrix" The transpose operation is only defined for matrices, so if you insist to apply it to a vector, it first needs to be coersed to a matrix and then transposed. The result of this operation is a matrix. The result of transposing this matrix will still be a matrix. -Christos > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Daniel > Høyer Iversen > Sent: Tuesday, November 11, 2008 2:36 PM > To: hadley wickham > Cc: Tony Plate; r-devel@r-project.org > Subject: Re: [Rd] is.matrix > > > That's confusing! In what situations is x a matrix but > does not have > > a dim attribute? > > That was my point. I don't find it logical that > is.matrix(a) gives FALSE but > is.matrix(t( t(a) )) gives TRUE. > > I also think it would be more logical that > a=c(1,1,2) > dim(a) gives 3 1 instead of NULL, > > > > Daniel > > > > On Tue, Nov 11, 2008 at 8:21 PM, hadley wickham > <[EMAIL PROTECTED]> wrote: > >> | is.matrix| returns |TRUE| if |x| is a matrix and has a |dim > >> | <dim.html>| > >> attribute of length 2) and |FALSE| otherwise > > > > That's confusing! In what situations is x a matrix but > does not have > > a dim attribute? > > > > Hadley > > > > -- > > http://had.co.nz/ > > > > > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel