减少列表但避免使用Null变量

时间:2013-05-13 19:49:49

标签: r

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

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

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

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

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

由于

2 个答案:

答案 0 :(得分:7)

您可以使用Filter执行此操作。

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

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

答案 1 :(得分:3)

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

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

是你想要的吗?

欢呼声