Selecting the "non-attribute" part of an object
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 at 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.