assortment.discrete {assortnet} R Documentation

## Assortment on discrete vertex values

### Description

Calculates the assortativity coefficient for weighted and unweighted graphs with nominal/categorical vertex values

### Usage

```assortment.discrete(graph, types, weighted = TRUE, SE = FALSE, M = 1)
```

### Arguments

 `graph` Adjacency matrix, as an N x N matrix. Can be weighted or binary. `types` Values on which to calculate assortment, vector of N labels `weighted` Flag: TRUE to use weighted edges, FALSE to turn edges into binary (even if weights are given) `SE` Calculate standard error using the Jackknife method. `M` Binning value for Jackknife, where M edges are removed rather than single edges. This helps speed up the estimate for large networks with many edges.

### Value

This function returns a named list, with three elements:

\$r the assortativity coefficient \$SE the standard error \$mixing_matrix the mixing matrix with the distribution of edges or edge weights by category

### Author(s)

Damien Farine dfarine@orn.mpg.de

### References

Newman (2003) Mixing patterns in networks. Physical Review E (67) Farine, D.R. (2014) Measuring phenotypic assortment in animal social networks: weighted associations are more robust than binary edges. Animal Behaviour 89: 141-153.

### Examples

```	# DIRECTED NETWORK EXAMPLE
# Create a random directed network
N <- 20
dyads <- expand.grid(ID1=1:20,ID2=1:20)
dyads <- dyads[which(dyads\$ID1 != dyads\$ID2),]
weights <- rbeta(nrow(dyads),1,15)
network <- matrix(0, nrow=N, ncol=N)
network[cbind(dyads\$ID1,dyads\$ID2)] <- weights

# Create random discrete trait values
traits <- rpois(N,2)

# Test for assortment as binary network
assortment.discrete(network,traits,weighted=FALSE)

# Test for assortment as weighted network
assortment.discrete(network,traits,weighted=TRUE)

# UNDIRECTED NETWORK EXAMPLE
# Create a random undirected network
N <- 20
dyads <- expand.grid(ID1=1:20,ID2=1:20)
dyads <- dyads[which(dyads\$ID1 < dyads\$ID2),]
weights <- rbeta(nrow(dyads),1,15)
network <- matrix(0, nrow=N, ncol=N)
network[cbind(dyads\$ID1,dyads\$ID2)] <- weights
network[cbind(dyads\$ID2,dyads\$ID1)] <- weights

# Create random discrete trait values
traits <- rpois(N,2)

# Test for assortment as binary network
assortment.discrete(network,traits,weighted=FALSE)

# Test for assortment as weighted network
assortment.discrete(network,traits,weighted=TRUE)

```

[Package assortnet version 0.12 Index]