I think that what you are looking for is:

    all.equal(tm,tmm,check.attributes=FALSE)

But BEWARE:

    m   <- matrix(1:36,4,9)
    mm <- matrix(1:36,12,3)
    all.equal(m,mm,check.attributes=FALSE)

gives TRUE!!!  I.e. sometimes attributes really are vital characteristics.

    cheers,

        Rolf Turner

On 16/11/12 08:52, Jonathan Dushoff wrote:
I have two matrices, generated by R functions that I don't understand.
  I want to confirm that they're the same, but I know that they have
different attributes.

If I want to compare the dimnames, I can say

identical(attr(tm, "dimnames"), attr(tmm, "dimnames"))
[1] FALSE

or even:

identical(dimnames(tm), dimnames(tmm))
[1] FALSE

But I can't find any good way to compare the "main" part of objects.

What I'm doing now is:

tm_new <- tm
tmm_new <- tmm
attributes(tm_new) <- attributes(tmm_new) <- NULL
identical(tm_new, tmm_new)
[1] TRUE

But that seems very inaesthetic, besides requiring that I create two
pointless objects.

I have read ?attributes, ?attr and some web introductions to how R
objects work, but have not found an answer.

Thanks for any help.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to