在R中,我正在调用unlist一个列表来转换为向量.但是,我的一些列表元素是空的,因此返回integer(0).在unlist()默认情况下,功能下降这一点.如何返回NA列表为空的向量?我创建了一个可重现的例子:
> ex.list <- list()
> ex.list[[1]] <- integer(0)
> ex.list[[2]] <- c(1,2,3)
> ex.list
[[1]]
integer(0)
[[2]]
[1] 1 2 3
> unlist(ex.list)
[1] 1 2 3
Run Code Online (Sandbox Code Playgroud)
谢谢.
一种方法是使用功能is.na<-.
is.na(ex.list) <- lengths(ex.list) == 0
ex.list
#[[1]]
#[1] NA
#
#[[2]]
#[1] 1 2 3
Run Code Online (Sandbox Code Playgroud)
然后你将得到一个NA列表长度为0的位置.
unlist(ex.list)
#[1] NA 1 2 3
Run Code Online (Sandbox Code Playgroud)