当前位置:  开发笔记 > 编程语言 > 正文

从列表中的多个列表中删除Null

如何解决《从列表中的多个列表中删除Null》经验,为你挑选了1个好方法。

我有一个大的列表(A)的SpatialPolygonsDataFrames列表.某些列表具有空值(表示没有SpatialPolygonsDataFrame).我试过了 :

A[!sapply(unlist(A, recursive=FALSE), is.null)]

但没有结果,然后我尝试:

A_nonulls=lapply(A, na.omit)

删除较大列表中每个列表的null的正确方法是什么?

编辑:

我不能做str(A)因为A有1000个列表并且很大.第一个列表中的第一个元素如下:

[[1]]
NULL

[[2]]
NULL

[[3]]
NULL

[[4]]
NULL

[[5]]
class       : SpatialPolygons 
features    : 1 
extent      : 722951.5, 726848.9, 4325874, 4329654  (xmin, xmax, ymin, ymax)

所以我想删除空值并仅保留非空元素.



1> Matthew Plou..:

使用Hadley极好的purrr包的另一种选择:

library(purrr)
compact(A)

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有