小编Neu*_*ril的帖子

R 从列表列表中删除空(nchar = 0)元素

我有一个列表/向量列表:

list(c("cat1", "cat6", ""), c("cat5", "cat3", "cat4"), c("cat6", 
"cat4", ""), c("cat5", "cat1", "cat2", "cat4"), c("cat6", "cat3", 
"cat2"))
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种优雅的方法来删除 nchar=0 的内部元素,例如第一个列表中的第三个元素(值为“”)。我努力了:

l[lapply(l,length)>0] 
Run Code Online (Sandbox Code Playgroud)

但这不适用于内部元素长度,而是适用于外部列表元素长度。预期输出是:

list(c("cat1", "cat6"), c("cat5", "cat3", "cat4"), c("cat6", 
    "cat4"), c("cat5", "cat1", "cat2", "cat4"), c("cat6", "cat3", 
    "cat2")) 
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏

r list nested-lists sapply

5
推荐指数
1
解决办法
2576
查看次数

标签 统计

list ×1

nested-lists ×1

r ×1

sapply ×1