如何对向量中的数值求和?

问题描述

我有一个向量a,其中包含以下值: 3.00 6.00 NaN -7.00 56.00 32.00 ... Inf 7.00 15.00 NaN Inf 4.00

在这样的向量中,如何只求和(不包括NaNInf等)? 我已经尝试过sum(a,na.rm=TRUE),但是对我没有帮助。

解决方法

您可能想要

a <- c(NaN,NA,1,Inf)
sum(a[is.finite(a)])

sum(a,na.rm=TRUE)处理NANaN值,但不处理Inf / -Inf

这个答案也给出了here,但问题不是重复的……