Thanks for all of these useful answers. Thanks also to Ben Bolker, who told me offline that c() is a general way to access the "main" part of an object (not tested).
I also tried: > identical(matrix(tm), matrix(tmm)) [1] TRUE which also works, but does _not_ solve the problem Rolf warns about below (to my disappointment). JD On Thu, Nov 15, 2012 at 6:47 PM, Rolf Turner <rolf.tur...@xtra.co.nz> wrote: > 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.