# diversity

##### Graph diversity

Calculates a measure of diversity for all vertices.

- Keywords
- graphs

##### Usage

`diversity(graph, weights = NULL, vids = V(graph))`

##### Arguments

- graph
The input graph. Edge directions are ignored.

- weights
`NULL`

, or the vector of edge weights to use for the computation. If`NULL`

, then the ‘weight’ attibute is used. Note that this measure is not defined for unweighted graphs.- vids
The vertex ids for which to calculate the measure.

##### Details

The diversity of a vertex is defined as the (scaled) Shannon entropy of the weights of its incident edges: $$D(i)=\frac{H(i)}{\log k_i}$$ and $$H(i)=-\sum_{j=1}^{k_i} p_{ij}\log p_{ij},$$ where $$p_{ij}=\frac{w_{ij}}{\sum_{l=1}^{k_i}}V_{il},$$ and \(k_i\) is the (total) degree of vertex \(i\), \(w_{ij}\) is the weight of the edge(s) between vertices \(i\) and \(j\).

For vertices with degree less than two the function returns `NaN`

.

##### Value

A numeric vector, its length is the number of vertices.

##### References

Nathan Eagle, Michael Macy and Rob Claxton: Network Diversity
and Economic Development, *Science* **328**, 1029--1031, 2010.

##### Examples

```
# NOT RUN {
g1 <- sample_gnp(20, 2/20)
g2 <- sample_gnp(20, 2/20)
g3 <- sample_gnp(20, 5/20)
E(g1)$weight <- 1
E(g2)$weight <- runif(ecount(g2))
E(g3)$weight <- runif(ecount(g3))
diversity(g1)
diversity(g2)
diversity(g3)
# }
```

*Documentation reproduced from package igraph, version 1.0.1, License: GPL (>= 2)*