【发布时间】:2016-05-28 18:53:41
【问题描述】:
我有一个列表/向量列表:
list(c("cat1", "cat6", ""), c("cat5", "cat3", "cat4"), c("cat6",
"cat4", ""), c("cat5", "cat1", "cat2", "cat4"), c("cat6", "cat3",
"cat2"))
我正在寻找一种优雅的方式来删除带有 nchar=0 的内部元素,例如第一个列表中的第三个元素(值为“”)。 我试过了:
l[lapply(l,length)>0]
但这不适用于内部元素长度,但适用于外部列表元素长度。 预期的输出是:
list(c("cat1", "cat6"), c("cat5", "cat3", "cat4"), c("cat6",
"cat4"), c("cat5", "cat1", "cat2", "cat4"), c("cat6", "cat3",
"cat2"))
任何帮助表示赞赏
【问题讨论】:
-
你可以试试
sapply(l, function(x) x[nchar(x) > 0])
标签: r list nested-lists sapply