相关疑难解决方法(0)

R:从列表中删除NULL元素

mylist <- list(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 
    123, NULL, 456)

> mylist
[[1]]
NULL

[[2]]
NULL

[[3]]
NULL

[[4]]
NULL

[[5]]
NULL

[[6]]
NULL

[[7]]
NULL

[[8]]
NULL

[[9]]
NULL

[[10]]
NULL

[[11]]
[1] 123

[[12]]
NULL

[[13]]
[1] 456
Run Code Online (Sandbox Code Playgroud)

我的列表有13个元素,其中11个是NULL.我想删除它们,但保留非空元素的索引.

mylist2 = mylist[-which(sapply(mylist, is.null))]
> mylist2
[[1]]
[1] 123

[[2]]
[1] 456
Run Code Online (Sandbox Code Playgroud)

这很好地删除了NULL元素,但是我不希望非空元素被重新索引,即,我想mylist2看起来像这样,其中非空条目的索引被保留.

> mylist2
[[11]]
[1] 123

[[13]]
[1] 456
Run Code Online (Sandbox Code Playgroud)

r

44
推荐指数
7
解决办法
4万
查看次数

标签 统计

r ×1