Computes distances in terms of Structural equivalence (Lorrain & White, 1971)
Computes distances in terms of Structural equivalence (Lorrain & White, 1971)
The functions compute the distances in terms of Structural equivalence (Lorrain and White, 1971) between the units of a one-mode network. Several options for treating the diagonal values are supported.
UTF-8
sedist( M, method ="default", fun ="default", fun.on.rows ="default", handle.interaction ="switch", use ="pairwise.complete.obs",...)
Arguments
M: A matrix representing the (usually valued) network. For now, only one-relational networks are supported. The network must be one-mode.
method: The method used to compute distances - any of the methods allowed by functions dist, "cor" or "cov" (all package::stats) or just "cor" or "cov" (given as a character).
fun: Which function should be used to compute distances (given as a character).
fun.on.rows: For non-standard function - does the function compute measure on rows (such as "cor", "cov",...) of the data matrix (as opposed to computing measure on columns (such as dist).
handle.interaction: How should the interaction between the vertices analysed be handled:
"switch" (the default) - assumes that when comparing units i and j, M[i,i] should be compared with M[j,j] and M[i,j] with M[j,i]. These two comparisons are weighted by 2. This should be used with Euclidean distance to get the corrected Euclidean distance with p = 2.
"switch2" - the same (alias)
"switch1" - the same as above, only that the two comparisons are weighted by 1. This should be used with Euclidean distance to get the corrected Wuclidean distance with p = 1.
"ignore" (diagonal) - Diagonal is ignored. This should be used with Euclidean distance to get the corrected Euclidean distance with p = 0.
"none" - the matrix is used "as is"
use: For use with methods "cor" and "cov", for other methods (the default option should be used if handle.interaction == "ignore"), "pairwise.complete.obs" are always used, if stats.dist.cor.cov = TRUE.
...: Additional arguments to fun
Returns
A matrix (usually of class dist) is returned.
Details
If both method and fun are "default", the Euclidean distances are computed. The "default" method for fun = "dist" is "euclidean" and for fun = "cor" "pearson".
Examples
# Generating a simple network corresponding to the simple Sum of squares# Structural equivalence with blockmodel:# null com# null nulln <-20net <- matrix(NA, ncol = n, nrow = n)clu <- rep(1:2, times = c(5,15))tclu <- table(clu)net[clu ==1, clu ==1]<- rnorm(n = tclu[1]* tclu[1], mean =0, sd =1)net[clu ==1, clu ==2]<- rnorm(n = tclu[1]* tclu[2], mean =4, sd =1)net[clu ==2, clu ==1]<- rnorm(n = tclu[2]* tclu[1], mean =0, sd =1)net[clu ==2, clu ==2]<- rnorm(n = tclu[2]* tclu[2], mean =0, sd =1)D <- sedist(M = net)plot.mat(net, clu = cutree(hclust(d = D, method ="ward"), k =2))
References
Batagelj, V., Ferligoj, A., & Doreian, P. (1992). Direct and indirect methods for structural equivalence. Social Networks, 14(1-2), 63-90. doi: 10.1016/0378-8733(92)90014-X
Lorrain, F., & White, H. C. (1971). Structural equivalence of individuals in social networks. Journal of Mathematical Sociology, 1(1), 49-80. doi: 10.1080/0022250X.1971.9989788