unlist errors on a nested list of empty lists
On 08/05/2018 1:48 PM, Steven Nydick wrote:
Reproducible example: x <- list(list(list(), list())) unlist(x) *> Error in as.character.factor(x) : malformed factor*
The error comes from the line
structure(res, levels = lv, names = nm, class = "factor")
which is called because unlist() thinks that some entry is a factor,
with NULL levels and NULL names. It's not legal for a factor to have
NULL levels. Probably it should never get here; the earlier test
if (.Internal(islistfactor(x, recursive))) {
should have been false, and then the result would have been
.Internal(unlist(x, recursive, use.names))
(with both recursive and use.names being TRUE), which returns NULL.
Duncan Murdoch
What should happen: unlist(x)
NULL
R.version platform x86_64-apple-darwin15.6.0 arch x86_64 os darwin15.6.0 system x86_64, darwin15.6.0 status major 3 minor 5.0 year 2018 month 04 day 23 svn rev 74626 language R version.string R version 3.5.0 (2018-04-23) nickname Joy in Playing