| Version: | 1.0.2 | 
| Date: | 2022-04-27 | 
| Author: | Catherine B. Hurley and Denise Earle | 
| Maintainer: | Catherine Hurley <catherine.hurley@mu.ie> | 
| Title: | Dendrogram Seriation: Ordering for Visualisation | 
| Description: | Re-arranges a dendrogram to optimize visualisation-based cost functions. | 
| Depends: | gclus,seriation | 
| License: | GPL-2 | 
| NeedsCompilation: | yes | 
| Packaged: | 2022-04-27 13:23:17 UTC; catherine | 
| Repository: | CRAN | 
| Date/Publication: | 2022-04-27 14:20:02 UTC | 
Implements dendrogram seriation
Description
Implements dendrogram seriation.
Usage
DendSer(h, ser_weight, cost = costBAR, node_op = NULL, costArg = NULL, 
maxloops = NULL, saveinfo = FALSE, direction = NULL,  GW=NULL,...)
Arguments
h | 
 An object of class hclust  | 
ser_weight | 
 Used by cost function to evaluate ordering. For cost=costLS, this is a vector of object weights. Otherwise is a dist or symmetric matrix.  | 
cost | 
 Function used to evaluate permutation.Current choices are costLS, costPL, costLPL, costED, costARc, costBAR.  | 
node_op | 
 Function used to reorder branches at a dendrogram node. DendSer picks default depending on cost function. NULL means use default depending on cost.  | 
costArg | 
 Other args for cost function.  | 
maxloops | 
 Maximum number of iterations allowed. NULL means use default depending on cost.  | 
saveinfo | 
 Logical, whether info associated with search is saved.  | 
direction | 
 Order of visiting nodes. Values are "up" or "down", for nodes in order of increasing or decreasing height.NULL means use default depending on cost.  | 
GW | 
 Logical, initial GW step or not. NULL means use default depending on cost.  | 
... | 
 Not used.  | 
Details
costED uses the Gruvaeus and Wainer 1972 algorithm, as provided by package gclus.
Value
Numeric vector giving an optimal dendrogram order
Author(s)
Catherine Hurley & Denise Earle
References
Gruvaeus, G. \& Wainer, H. (1972), “Two additions to hierarchical cluster analysis”, British Journal of Mathematical and Statistical Psychology, 25, 200-206.
See Also
Examples
	 			
require(DendSer) 			
d<- dist(iris[,-5])
h <- hclust(d,method="average")
ob<- DendSer(h,d)
opl<- DendSer(h,d,cost=costPL)
plotAsColor(d,ob)
w <- rowSums(iris[,-5])
ow <- DendSer(h,w,cost=costLS) # arranges cases by size, within hclust
stars(iris[ow,-5],labels=NULL, col.stars=cutree(h,3)[ow]) # and color by cluster
#stars(iris[ow,-5],labels=NULL, col.stars=iris[ow,5]) # or by species
Cost functions for DendSer
Description
Each of these functions evaluates the cost of an ordering.
Usage
costARc(sw, o, target = nrow(sw) - 1, ...)
costBAR(sw, o, target=max(2,floor(nrow(sw)/5)),...)
costLS(sw, o, target=seq_along(sw),...)
costPL(sw, o, ...)
costLPL(sw, o, target=(nrow(sw)-1):1,...)
costED(sw, o, node,se,...)
Arguments
sw | 
 For cost=costLS, this is a vector of object weights. Otherwise is a symmetric matrix.  | 
o | 
 An ordering vector.  | 
node | 
 The node  | 
se | 
 Extra info  | 
target | 
 Parameter used by cost function.  | 
... | 
 Other args.  | 
Value
Result of cost
Author(s)
Catherine Hurley & Denise Earle
Cost function from seriation criterion
Description
Returns a cost function from seriation criterion (package seriation)
Usage
crit2cost(crit)
Arguments
crit | 
 One of seriation::list_criterion_methods("dist")  | 
Examples
	 			
require(DendSer) 			
d<- dist(iris[1:20,-5])
h <- hclust(d)
DendSer(h,d,cost=function(x,o,...) criterion(as.dist(x),o,method="AR_deviations"))
DendSer(h,d,cost=crit2cost("AR_deviations")) # short version of above
DendSer(h,d,cost=crit2cost("ME"))
# use DendSer methods via seriate
# get_order(seriate(d,method="Dendser", control=list(hclust=h,cost=costARc))) 
DendSer(h,d,cost=costARc)
Implements dendrogram seriation. Interface to DendSer.
Description
Implements dendrogram seriation. Interface to DendSer.
Usage
dser(x,ser_weight,cost=costBAR, ...)
## S3 method for class 'data.frame'
dser(x,ser_weight,cost=costBAR,...)
## S3 method for class 'matrix'
dser(x,ser_weight,cost=costBAR,scale=TRUE,dmethod="euclidean",...)
## S3 method for class 'dist'
dser(x,ser_weight,cost=costBAR,hmethod="average",...)
## S3 method for class 'hclust'
dser(x,ser_weight,cost=costBAR,...)
Arguments
x | 
 Used to select method.  | 
ser_weight | 
 Seriation weights. For cost=costLS, defaults to first column of matrix x, otherwise to symmetric matrix version of dist d.  | 
cost | 
 Current choices are costLS, costPL, costLPL, costED, costARc, costBAR.  | 
scale | 
 Logical value,controls whether matrix x should be scaled prior to forming dist.  | 
dmethod | 
 Method of dist calculation. See function   | 
hmethod | 
 Method of hclust calculation. See function   | 
... | 
 Other args  | 
Details
When x is a matrix or data.drame, forms a dist of rows using function dist with method = dmethod. When x is a dist, forms a hclust with method = hmethod which is then reordered.
Value
Numeric vector giving an optimal dendrogram order
Author(s)
Catherine Hurley & Denise Earle
Examples
	 			
require(DendSer) 			
iriss <- scale(iris[,-5])
plotAsColor(iriss,order.row=dser(iriss))
w <- prcomp(iris[,-5],scale=TRUE)$x[,1]
h<- hclust(dist(iriss))
h$order <- ow <- dser(h,w,cost=costLS) # arranges cases along first PC, within dendrogram
# compare re-rordered dendrogram to PC scores, w
dev.new(width=10,height=5)
par(mar=c(0,2,1,1))
layout(matrix(1:2, nrow = 2), heights = c(4,1.5) )
par(cex=.7)
plot(h,main="",xlab="",hang=-1,labels=FALSE)
u <- par("usr")
par(mar=c(1,2,0,1))
 
plot.new()
par(usr=c(u[1:2],min(w),max(w)))
x<- 1:length(w)
rect(x-.5,0,x+.5,w[ow],col=cutree(h,3)[ow]+1)
Function that plots a matrix as a color image
Description
Function that plots a matrix as a color image, in matrix order.
Usage
plotAsColor(m,  order = NULL, order.col = order, order.row = order, 
rank = FALSE, border.color = "grey70", labels = FALSE,x=1:ncol(d),y=1:nrow(d), ...)
Arguments
m | 
 Numeric matrix.  | 
order | 
 Default order used for rows and columns.  | 
order.col | 
 Column order.  | 
order.row | 
 Row order  | 
rank | 
 Logical, whether matrix m should be converted to ranks or not.  | 
border.color | 
 Color of border. Null for no border.  | 
labels | 
 If TRUE, add labels obtained from m.  | 
x | 
 X coordinates, passed to   | 
y | 
 Y coordinates, passed to   | 
... | 
 passed to   | 
See Also
See Also as image.
Examples
	 			
require(DendSer) 			
d<- dist(scale(iris[,-5]))
plotAsColor(d,dser(d,hmethod="average"))