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

1
2
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

1
2
3
4
5
6
#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)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.