Tag: 压扁

如何在没有强制的情况下将列表压扁?

我试图实现类似于unlist的function,除了types不强制为向量,但保留types的列表将被返回。 例如: flatten(list(NA, list("TRUE", list(FALSE), 0L)) 应该返回 list(NA, "TRUE", FALSE, 0L) 代替 c(NA, "TRUE", "FALSE", "0") 这将由unlist(list(list(NA, list("TRUE", list(FALSE), 0L)) 。 从上面的例子可以看出,扁平化应该是recursion的。 在标准R库中是否有这样的function呢,或者至less有一些其他的function可以用来轻松高效的实现呢? 更新 :我不知道是否从上面清楚,但非列表不应该被夷为平地,即flatten(list(1:3, list(4, 5)))应返回list(c(1, 2, 3), 4, 5) 。