3

给定一个包含空元素的列表:

l<-list(x=1,b=2,c=NULL)

如何使用“+”添加减少列表但避免添加 NULL 值?我试过了

Reduce(l,"+",null.rm=T)

但我认为它没有 null.rm。有什么有效的方法来解决这个问题?

谢谢

4

2 回答 2

7

您可以使用Filter.

Reduce('+', Filter(Negate(is.null), l))

这也相当于tail(cumsum(Filter(Negate(is.null), l)), 1)或只是好老式的do.call(sum, l).

于 2013-05-13T19:56:27.343 回答
3

您可以使用以下方法排除空元素:

l[!unlist(lapply(l, is.null))]

那是你要的吗?

干杯

于 2013-05-13T19:55:03.930 回答