有一个包含子列表的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
没关系,但是
list[[4]] NULL
认为
delete.NULLs <- function(x.list){ # delele null/empty entries in a list
x.list[unlist(lapply(x.list, length) != 0)]
}
会起作用,但这很慢。我的列表有4000万个子列表,我想大多数都没有数字......
答案 0 :(得分:6)
您可以使用Filter
。例如:
my_list <- list(A = 10, B = NULL, C = rnorm(10), D = NULL)
#remove nulls
Filter(Negate(is.null), my_list)