I think using 'is(inEnv, "environment")' produces the answer you expect. Can't explain the other anomalies though.
-roger On Sat, Apr 24, 2010 at 1:15 PM, Christopher Brown <cbr...@opendatagroup.com> wrote: > I looked through the documentation and the mailing lists and could not > find an answer to this. My apologies if it has already been answered. > If it has, a pointer to the relevant discussion would be greatly > appreciated. > > Creating S4 classes containing environments exhibits unexpected > behavior/features. These have a different in two ways: > > 1) slotName for the data: ".xData" instead of ".Data" and do not respond to > the > 2) Response to the is.* function seems to indicate that the object > does not know of its inheritance. ( Notably, the inherits function > works as expected. ) > > Here is a working illustration: > >> # LIST >> setClass( 'inheritList', contains='list') > [1] "inheritList" >> inList <- new( 'inheritList' ) >> class( inList ) > [1] "inheritList" > attr(,"package") > [1] ".GlobalEnv" >> is.list( inList ) # TRUE > [1] TRUE >> slotNames(inList) # ".Data" > [1] ".Data" >> inherits(inList, 'list' ) # TRUE > [1] TRUE >> >> >> # ENVIRONMENT >> setClass( 'inheritEnv', contains='environment' ) > Defining type "environment" as a superclass via class ".environment" > [1] "inheritEnv" >> inEnv <- new( 'inheritEnv' ) >> class(inEnv) > [1] "inheritEnv" > attr(,"package") > [1] ".GlobalEnv" >> is.environment(inEnv) # FALSE > [1] FALSE >> slotNames(inEnv) # ".xData" > [1] ".xData" >> inherits(inEnv, 'environment' ) # TRUE > [1] TRUE > > My questions is whether this behavior is a bug? By design? A work > around? Etc.? > > Thanks kindly for your reply, > > Chris > > > the Open Data Group > http://www.opendatagroup.com > http://blog.opendatagroup.com > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > -- Roger D. Peng | http://www.biostat.jhsph.edu/~rpeng/ ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel