有一个R列表有子列表 - 我用list [[i]]索引 - 这些列表中的一些是空的 - 它们只是NULL.如何删除这些并保留存储矩阵的那些?
list[[1]]
[1,] 99 45
[2,] 92 45
[3,] 11 45
[4,] 99 45
[5,] 92 45
[6,] 99 2
[7,] 99 22
[8,] 99 2
Run Code Online (Sandbox Code Playgroud)
没关系,但是
list[[4]] NULL
Run Code Online (Sandbox Code Playgroud)
认为
delete.NULLs <- function(x.list){ # delele null/empty entries in a list
x.list[unlist(lapply(x.list, length) != 0)]
}
Run Code Online (Sandbox Code Playgroud)
会工作,但这很慢.我的列表有4000万个子列表,我想大多数都没有数字......
你可以用Filter.例如:
my_list <- list(A = 10, B = NULL, C = rnorm(10), D = NULL)
#remove nulls
Filter(Negate(is.null), my_list)
Run Code Online (Sandbox Code Playgroud)