我有一个大的列表(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)
所以我想删除空值并仅保留非空元素.
使用Hadley极好的purrr包的另一种选择:
library(purrr) compact(A)