首页 > 解决方案 > 从列表中删除列表

问题描述

我有一个包含多个列表的大列表。其中一些子列表为空,因此我想将它们从大列表中删除。我正在尝试以下操作,但它似乎无法正常工作:

dat = lapply(dat, function(x){if(all(is.na(x)) == TRUE){list.remove(dat, 'x')}})

你能帮我解决这个问题吗?

标签: rlist

解决方案


简单子集:

L <- list(1, 2, NULL)
#[[1]]
#[1] 1
#
#[[2]]
#[1] 2
#
#[[3]]
#NULL

L <- L[lengths(L) > 0]
#[[1]]
#[1] 1
#
#[[2]]
#[1] 2

推荐阅读