[Rd] sort.int(S3object) strips class but not the is.object flag
William Dunlap
wdunlap at tibco.com
Mon Apr 11 19:10:07 CEST 2011
If x has an S3 class then sort.int(x) returns a value
without an S3 class but which has the is.object flag set,
which, I think, causes identical() give a false/misleading
report:
> x <- structure(1:3, class="unrecognizedClass")
> y <- sort.int(x)
> t <- 1:3
> identical(y, t) # expect TRUE
[1] FALSE
> identical(as.vector(y), as.vector(t)) # expect TRUE
[1] FALSE
> dput(y)
1:3
> dput(t)
1:3
> class(y)
[1] "integer"
> class(t)
[1] "integer"
> is.object(y)
[1] TRUE
> is.object(t)
[1] FALSE
The files made by
save(t, file="t.Rdata", compress=FALSE)
save(y, file="y.Rdata", compress=FALSE)
differ in 2 places, where the first is presumably
the name of the object:
% cmp -l y.Rdata t.Rdata
36 171 164
39 1 0
(The problem persists after a save/load cycle.)
This is on R 2.12.2 on Linux. Sorry, I don't have 2.13.0
yet installed.
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
More information about the R-devel
mailing list