`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).

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

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?

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

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 \(\left|N^+(v)\right| + \left|N^-(v)\right|\). (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"`

.

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

# NOT RUN { #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) # }