Aggregate communities

Description

Functions that aggregate communities in a collection.

Usage

1
2
3
4
5
6
AggregateCommunities(collection, 
                     aggregate = names(collection), 
                     weight.by='N',
                     title = NULL)

AggregateCommunitiesBy(collection, aggregate.by, ...)

Arguments

collection

an object of class CommunityCollection.

aggregate

the names of the communities to aggregate.

weight.by

the name of a column by which to compute weighted mean of numeric values.

title

the title of the new Community.

aggregate.by

the name of a community property, either first-class or computed, over which to aggregate.

...

values passed to AggregateCommunities.

Details

AggregateCommunities combines communities given in aggregate in to a single new Community.

Nodes that appear in one or more of the communities in aggregate are combined into a single node in the returned community. The way in which numeric node properties are aggregated is governed by the weight.by parameter. If weight.by is NULL or is not the name of a node property, the arithmetic mean is computed for each numeric node property. If weight.by is the name of a node property, that property is used to compute weighted means of the other numeric node properties; the arithmetic mean of weight.by is computed. This scheme means that if a community contains both N and M, aggregation using weight.by='N' results in the arithmetic mean of N and the N-weighted mean of M for each node. Node properties that are characters or logicals are aggregated by joining unique values with a ‘,’. Empty character strings are ignored. Species that are not present in some communities in the collection are assumed to have a value of 0 for all numeric node properties, an empty string ('') for all character node properties and a value of NA for all logical node properties.

The returned community contains the union of trophic links for each node. Community properties are aggregated by computing the arithmetic mean of numeric values and joining unique character and logical values with a ‘,’.

See the ‘Aggregating communities’ section of the ‘Collections’ vignette for a more detailed explanation and examples of how properties are aggregated.

AggregateCommunitiesBy aggregates by a property of the communities, either first-class or computed. If there is more than one unique value of the property across the contained communities, a new CommunityCollection object is returned. If there is just one unique value, a single Community is returned.

Value

A new object that is either of class Community or CommunityCollection.

Author(s)

Lawrence Hudson

See Also

CommunityCollection, CollectionCPS

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
data(pHWebs)

# An aggregate of 3 communities
AggregateCommunities(pHWebs, c('Old Lodge', 'Afon Hafren', 'Broadstone'))

# The Duddon Pike Beck and Mosedal Beck communities share the same 
# latitude and have pH values of 6.1 and 5.9 respectively.
CollectionCPS(pHWebs[c('Duddon Pike Beck', 'Mosedal Beck')])

# Aggregating by the 'lat' property therefore results in a new collection 
# of nine communities.
CollectionCPS(AggregateCommunitiesBy(pHWebs, 'lat'))

# Would produce an error
## Not run: AggregateCommunities(pHWebs, c('not a community', 'Afon Hafren'))

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.