我下面有一个列表对象,其中包含几个NULL值。现在我想删除它们并列出没有这些值的列表,但我无法确定正确的语法。
现在据我所知,一个lapply循环不起作用,我似乎无法进入各自的索引列表索引号,我尝试foo[[!is.null(foo)]] <- NULL
但这给了我列表对象虽然它包含在其中的NULL值,foo[[]][!is.null(foo)] <- NULL
也不起作用。
列出对象
Length Class Mode
0 0 -none- NULL
10 29 data.frame list
20 29 data.frame list
30 29 data.frame list
40 29 data.frame list
50 29 data.frame list
60 29 data.frame list
70 29 data.frame list
80 29 data.frame list
90 29 data.frame list
100 29 data.frame list
110 29 data.frame list
120 29 data.frame list
130 29 data.frame list
140 29 data.frame list
150 0 -none- NULL
160 0 -none- NULL
170 0 -none- NULL
180 0 -none- NULL
190 0 -none- NULL
200 0 -none- NULL
210 0 -none- NULL
220 0 -none- NULL
230 0 -none- NULL
250 0 -none- NULL
260 0 -none- NULL
270 0 -none- NULL
280 0 -none- NULL
300 0 -none- NULL
330 0 -none- NULL
答案 0 :(得分:4)
您可以使用Filter
删除NULL
列表元素
Filter(Negate(is.null), lst)
lst <- list(data.frame(1:5, 6:10), NULL, NULL, data.frame(1:10))