# asum

From spray v1.0-6
by Robin K S Hankin

##### Sum over dimension margins

Sum over specified dimension margins.

- Keywords
- symbolmath

##### Usage

```
# S3 method for spray
asum(S, dims, drop=TRUE, ...)
asum_inverted(S, dims)
process_dimensions(S,dims)
```

##### Arguments

- S
spray object

- dims
Vector of strictly positive integers corresponding to dimensions to be summed over

- drop
Boolean, with default

`TRUE`

meaning to drop the summed dimensions, and`FALSE`

meaning to retain them.- …
Further arguments, currently ignored

##### Details

Function `asum.spray()`

is the method for `asum()`

. This
takes a spray, and a vector of integers corresponding to dimensions to
be summed over.

Function `asum_inverted()`

is the same, but takes a vector of
integers corresponding to dimensions not to sum over. This function is
here because there is nice `C++`

idiom for it.

Function `process_dimensions()`

ensures that the `dims`

argument is consistent with the spray `S`

and returns a cleaned
version thereof.

##### Value

Returns a spray object.

##### Examples

```
# NOT RUN {
S <- spray(matrix(sample(0:2,60,replace=TRUE),ncol=3),addrepeats=TRUE)
S
asum(S,1)
asum(S,1:2)
asum(S,1:2,drop=FALSE)
asum(S,c(1,3)) == asum_inverted(S,2)
# }
```

*Documentation reproduced from package spray, version 1.0-6, License: GPL (>= 2)*

### Community examples

Looks like there are no examples yet.