# eval.fasp

##### Evaluate Expression Involving Function Arrays

Evaluates any expression involving one or more function arrays
(`fasp`

objects)
and returns another function array.

- Keywords
- manip, spatial, programming

##### Usage

`eval.fasp(expr, envir)`

##### Arguments

- expr
- An expression.
- envir
- Optional. The environment in which to evaluate the expression.

##### Details

This is a wrapper to make it easier to perform pointwise calculations with the arrays of summary functions used in spatial statistics.

A function array (object of class `"fasp"`

) can be regarded as a matrix
whose entries are functions. Objects of this kind
are returned by the command `alltypes`

.

Suppose `X`

is an object of class `"fasp"`

.
Then `eval.fasp(X+3)`

effectively adds 3 to the value of
every function in the array `X`

, and returns
the resulting object.

Suppose `X`

and `Y`

are two objects of class `"fasp"`

which are compatible (for example the arrays
must have the same dimensions). Then
`eval.im(X + Y)`

will add the corresponding functions in
each cell of the arrays `X`

and `Y`

,
and return the resulting array of functions.

In general, `expr`

can be any expression involving
(a) the *names* of objects of class `"fasp"`

, (b) scalar
constants, and (c) functions which are vectorised.
See the Examples.

First `eval.fasp`

determines which of the *variable names*
in the expression `expr`

refer to objects of class `"fasp"`

.
The expression is then evaluated for each cell of the array
using `eval.fv`

.

The expression `expr`

must be vectorised.
There must be at least one object of class `"fasp"`

in the expression.
All such objects must be compatible.

##### Value

- Another object of class
`"fasp"`

.

##### See Also

##### Examples

```
# manipulating the K function
data(amacrine)
K <- alltypes(amacrine, "K")
# expressions involving a fasp object
eval.fasp(K + 3)
L <- eval.fasp(sqrt(K/pi))
# expression involving two fasp objects
eval.fasp(K - L)
```

*Documentation reproduced from package spatstat, version 1.16-3, License: GPL (>= 2)*