# sum {base}

### Description

`sum`

returns the sum of all the values present in its arguments.

### Usage

sum(..., na.rm = FALSE)

### Arguments

- ...
- numeric or complex or logical vectors.
- na.rm
- logical. Should missing values (including
`NaN`

) be removed?

### Details

This is a generic function: methods can be defined for it directly or via the `Summary`

group generic. For this to work properly, the arguments `...`

should be unnamed, and dispatch is on the first argument.

If `na.rm`

is `FALSE`

an `NA`

or `NaN`

value in any of the arguments will cause a value of `NA`

or `NaN`

to be returned, otherwise `NA`

and `NaN`

values are ignored.

Logical true values are regarded as one, false values as zero. For historical reasons, `NULL`

is accepted and treated as if it were `integer(0)`

.

Loss of accuracy can occur when summing values of different signs: this can even occur for sufficiently long integer inputs if the partial sums would cause integer overflow. Where possible extended-precision accumulators are used, but this is platform-dependent.

### Values

The sum. If all of `...`

are of type integer or logical, then the sum is integer, and in that case the result will be `NA`

(with a warning) if integer overflow occurs. Otherwise it is a length-one numeric or complex vector.

**NB:** the sum of an empty set is zero, by definition.

### S4 methods

This is part of the S4 `Summary`

group generic. Methods for it must use the signature `x, ..., na.rm`

.

‘plotmath’ for the use of `sum`

in plot annotation.

### References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) *The New S Language*. Wadsworth & Brooks/Cole.

### See Also

`colSums`

for row and column sums.

Documentation reproduced from R 3.0.2. License: GPL-2.