Learn R Programming

QuACN (version 1.8.0)

infoTheoreticGCM: Information theoretic graph complexity meassures

Description

Measures of this group assign a probability value to each vertex of the network using a so-called information functional f which captures structural information of the network g. Note that some combinations of the settings can cause the descriptor to retrun NaN. In that case you have to check for warnings.

Usage

infoTheoreticGCM(g, dist = NULL, coeff = "lin", infofunct = "sphere", lambda = 1000, custCoeff=NULL, alpha=0.5, prec=53, flag.alpha=FALSE)

Arguments

g
a graph as a graphNEL object.
dist
the distance matrix of the graph. If the parameter is empty the distance matrix will be calculated within the function.
coeff
specifies the weighting coefficient. Possible values are "lin" (default), "quad", "exp", "const" or "cust". If it is set to "cust" you have to specify your customized weighting schema with the parameter custCoeff.
infofunct
specifies the information functional. Possible values are "sphere" (default), "pathlength", "vertcent" or "degree" .
lambda
specifies the scaling constant for the distance measures. The default value is 1000.
custCoeff
specifies the customized weighting schema. To use it you need to set coeff="const".
alpha
alpha for degree degree association.
prec
specifies the floating-point precision to use (currently only implemented for degree-degree association). Values up to 53 are handled with the built-in double data type; larger values trigger the usage of Rmpfr.
flag.alpha
if set, the base 0.5 exponential function will be applied to the values of the "sphere" functional.

Value

The returned list consists of the following items:
entropy
contains the calculated entropy measure.
distance
contains the calculated distance measure.
pis
contains the calculated probability distribution.
fvi
contains the calculated values of the information functional, for each vetrex.
If any of these values is NaN, please check if your parameters are valid. For infofunct="degree" in particular, the result might be impossible to represent using a standard R numeric vector. In this case the "prec" parameter has to be set to a higher value.If infofunct is "degree" and prec is greater than 53, the resulting values will be of class "mpfr" (instead of "numeric" in all other cases). Note that if you use such a vector in a calculation, arbitrary precision floating point arithmetics will be used throughout, even if the other operands are regular double values. You can use "as.double" at any point to convert an "mpfr" vector to the built-in "numeric" class (losing precision).

Details

For details see the vignette.

References

M. Dehmer, Information processing in complex networks: Graph entropy and information functionals, Applied Mathematics and Computation, 202:82-94, 2008

Dehmer M., Emmert-Streib F., Tsoy R. Y., Varmuza K.: Quantifying Structural Complexity of Graphs: Information Measures in Mathematical Chemistry. In: Putz M. (Editor): Quantum Frontiers of Atoms and Molecules in Physics, Chemistry, and Biology, Nova Science Publishers, to appear, 2010

Examples

Run this code

library(RBGL)
set.seed(123)
g <- randomGraph(1:8, 1:5, 0.36, weights=FALSE)
mat.dist <- distanceMatrix(g)

infoTheoreticGCM(g)
infoTheoreticGCM(g,mat.dist,coeff="lin",infofunct="sphere",lambda=1000)
infoTheoreticGCM(g,mat.dist,coeff="const",infofunct="pathlength",lambda=4000)
infoTheoreticGCM(g,mat.dist,coeff="quad",infofunct="vertcent",lambda=1000)
infoTheoreticGCM(g,mat.dist,coeff="exp",infofunct="degree",lambda=1000)

Run the code above in your browser using DataLab