[Rd] is.matrix
Tony Plate
tplate at acm.org
Tue Nov 11 19:43:12 CET 2008
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.
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>
All of the above is consistent with the documentation for is.matrix():
| is.matrix| returns |TRUE| if |x| is a matrix and has a |dim
<dim.html>| attribute of length 2) and |FALSE| otherwise
[There seems to be a typo in this sentence from ?is.matrix : an
unmatched ")"]
This is also useful behavior -- when programming it is often useful to
know whether something is a matrix or not because that can affect
computations performed with the object.
For the more informal definition of "matrix" that it looks like want,
you could use
is.matrix(x) && all(dim(x)>1)
(or maybe all(dim(x) != 1) depending on how you want to treat matrices
that have a dimension with zero extent)
-- Tony Plate
More information about the R-devel
mailing list