R: Compute the Degree Centrality Scores of Network Positions

degree {sna} | R Documentation

## Compute the Degree Centrality Scores of Network Positions

### Description

`Degree` takes one or more graphs (`dat`) and returns the degree centralities of positions (selected by `nodes`) within the graphs indicated by `g`. Depending on the specified mode, indegree, outdegree, or total (Freeman) degree will be returned; this function is compatible with `centralization`, and will return the theoretical maximum absolute deviation (from maximum) conditional on size (which is used by `centralization` to normalize the observed centralization score).

### Usage

    degree(dat, g=1, nodes=NULL, gmode="digraph", diag=FALSE,
        tmaxdev=FALSE, cmode="freeman", rescale=FALSE, ignore.eval=FALSE)

### Arguments

`dat` | one or more input graphs.
`g` | integer indicating the index of the graph for which centralities are to be calculated (or a vector thereof). By default, `g`=1.
`nodes` | vector indicating which nodes are to be included in the calculation. By default, all nodes are included.
`gmode` | string indicating the type of graph being evaluated. `"digraph"` indicates that edges should be interpreted as directed; `"graph"` indicates that edges are undirected. `gmode` is set to `"digraph"` by default.
`diag` | boolean indicating whether or not the diagonal should be treated as valid data. Set this true if and only if the data can contain loops. `diag` is `FALSE` by default.
`tmaxdev` | boolean indicating whether or not the theoretical maximum absolute deviation from the maximum nodal centrality should be returned. By default, `tmaxdev==FALSE`.
`cmode` | string indicating the type of degree centrality being computed. `"indegree"`, `"outdegree"`, and `"freeman"` refer to the indegree, outdegree, and total (Freeman) degree measures, respectively. The default for `cmode` is `"freeman"`.
`rescale` | if true, centrality scores are rescaled such that they sum to 1.
`ignore.eval` | logical; should edge values be ignored when computing degree scores?

### Details

Degree centrality is the social networker's term for various permutations of the graph theoretic notion of vertex degree: for unvalued graphs, indegree of a vertex, v, corresponds to the cardinality of the vertex set N^+(v) = {i in V(G) : (i,v) in E(G)}; outdegree corresponds to the cardinality of the vertex set N^-(v) = {i in V(G) : (v,i) in E(G)}; and total (or “Freeman”) degree corresponds to |N^+(v)|+|N^-(v)|. (Note that, for simple graphs, indegree=outdegree=total degree/2.) Obviously, degree centrality can be interpreted in terms of the sizes of actors' neighborhoods within the larger structure. See the references below for more details.

When `ignore.eval==FALSE`, `degree` weights edges by their values where supplied. `ignore.eval==TRUE` ensures an unweighted degree score (independent of input). Setting `gmode=="graph"` forces behavior equivalent to `cmode=="indegree"` (i.e., each edge is counted only once); to obtain a total degree score for an undirected graph in which both in- and out-neighborhoods are counted separately, simply use `gmode=="digraph"`.

### Value

A vector, matrix, or list containing the degree scores (depending on the number and size of the input graphs).

### Author(s)

Carter T. Butts buttsc@uci.edu

### References

Freeman, L.C. (1979). “Centrality in Social Networks I: Conceptual Clarification.” Social Networks, 1, 215-239.

### See Also

`centralization`

### Examples

    #Create a random directed graph
    dat<-rgraph(10)
    #Find the indegrees, outdegrees, and total degrees
    degree(dat,cmode="indegree")
    degree(dat,cmode="outdegree")
    degree(dat)

[Package sna version 2.5 Index]