Compute cost of prune each edge
If any edge are dropped, the MST are pruned. This generate a two subgraphs. So, it makes a tree graphs and tree dissimilarity values are computed, one for each graph. The dissimilarity is the sum over sqared differences between the observactions in the nodes and mean vector of observations in the graph. The dissimilarity of original graph and the sum of dissimilarity of subgraphs are returned.
prunecost(edges, data, method = c("euclidean", "maximum", "manhattan", "canberra", "binary", "minkowski", "mahalanobis"), p = 2, cov, inverted = FALSE)
- A matrix with 2 colums with each row is one edge
- A data.frame with observations in the nodes.
- Character or function to declare distance method.
methodis character, method must be "mahalanobis" or "euclidean", "maximum", "manhattan", "canberra", "binary" or "minkowisk". If
methodis one of "euclidean", "maximum", "manhattan", "canberra", "binary" or "minkowisk", see
distfor details, because this function as used to compute the distance. If
method="mahalanobis", the mahalanobis distance is computed between neighbour areas. If
function, this function is used to compute the distance.
- The power of the Minkowski distance.
- The covariance matrix used to compute the mahalanobis distance.
- logical. If 'TRUE', 'cov' is supposed to contain the inverse of the covariance matrix.
A vector with the differences between the dissimilarity of all nodes
and the dissimilarity sum of all subgraphs obtained by pruning one
edge each time.
See Also as
d <- data.frame(a=-2:2, b=runif(5)) e <- matrix(c(1,2, 2,3, 3,4, 4,5), ncol=2, byrow=TRUE) sum(sweep(d, 2, colMeans(d))^2) prunecost(e, d)