[Rd] as.character.factor and S4 object containing factor
Michael Lawrence
lawrence.michael at gene.com
Thu Sep 22 20:20:04 CEST 2016
The issue with as.character.factor() was reported and fixed recently.
https://bugs.r-project.org/bugzilla/show_bug.cgi?id=17141
The warning emitted from print.factor() is interesting. I'm not sure
why we are setting the class to NULL there. Could just create a new
character vector instead. Will look into it later.
Michael
On Thu, Sep 22, 2016 at 10:41 AM, Ott Toomet <otoomet at gmail.com> wrote:
> 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]]
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
More information about the R-devel
mailing list