# degree

##### Compute the Degree Centrality Scores of Network Positions

`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 \(\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"`

.

##### Value

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

##### References

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

##### See Also

##### Examples

```
# 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)
# }
```

*Documentation reproduced from package sna, version 2.6, License: GPL (>= 2)*