[Rd] as.character.factor and S4 object containing factor

Ott Toomet otoomet at gmail.com
Thu Sep 22 19:41:48 CEST 2016


Do I mess up something or is this a bug?  If I define an S4 object
that contains "factor", all the tests indicate that it is a factor but
as.character.factor() complains of it being a non-factor...

> setClass("Foo", contains="factor")
> a <- new("Foo", factor(1:3))
> a
Object of class "Foo"
[1] 1 2 3
Levels: 1 2 3
> class(a)
[1] "Foo"
attr(,"package")
[1] ".GlobalEnv"
> inherits(a, "factor")
[1] TRUE
> is(a, "factor")
[1] TRUE
> as.character.factor(a)
Error in as.character.factor(a) : attempting to coerce non-factor
> print(a)
Error in as.character.factor(x) : attempting to coerce non-factor
In addition: Warning message:
In print.factor(a) :
  Setting class(x) to NULL;   result will no longer be an S4 object

This means I cannot use ordinary print/summary methods...

platform       x86_64-pc-linux-gnu
arch           x86_64
os             linux-gnu
system         x86_64, linux-gnu
status
major          3
minor          3.1
year           2016
month          06
day            21
svn rev        70800
language       R
version.string R version 3.3.1 (2016-06-21)
nickname       Bug in Your Hair

Cheers,
Ott


-- 
Ott Toomet

Visiting Researcher
School of Information
Mary Gates Hall, Suite 310
University of Washington
Seattle, WA 98195

	[[alternative HTML version deleted]]



More information about the R-devel mailing list