[R] as.list cannot handle an environment
Wacek Kusnierczyk
Waclaw.Marcin.Kusnierczyk at idi.ntnu.no
Tue Mar 24 15:25:44 CET 2009
?as.list states that as.list can be used with environments as arguments
(what is referred to there as the '"environment" method for as.list).
indeed,
e = globalenv()
as.list(e)
# $e
# <environment: R_GlobalEnv>
however, it seems to have problems with environment objects with a class
attribute:
e = structure(globalenv(), class='foo')
as.list(e)
# Error in as.vector(x, "list") :
# cannot coerce type 'environment' to vector of type 'list'
the error message is misleading. instead of complaining about the class
'foo', it says that as.list cannot coerce an environment to a list,
which is nonsense, since this is precisely what it does in the first
example above, and what is also clear from ?as.list:
"
The '"environment"' method for 'as.list' copies the name-value
pairs (for names not beginning with a dot) from an environment to
a named list.
"
a different error message might be more appropriate.
vQ
More information about the R-help
mailing list