Implements dendrogram seriation. Interface to DendSer.
dser(x,ser_weight,cost=costBAR, ...)# S3 method for data.frame
dser(x,ser_weight,cost=costBAR,...)
# S3 method for matrix
dser(x,ser_weight,cost=costBAR,scale=TRUE,dmethod="euclidean",...)
# S3 method for dist
dser(x,ser_weight,cost=costBAR,hmethod="average",...)
# S3 method for hclust
dser(x,ser_weight,cost=costBAR,...)
Used to select method.
Seriation weights. For cost=costLS, defaults to first column of matrix x, otherwise to symmetric matrix version of dist d.
Current choices are costLS, costPL, costLPL, costED, costARc, costBAR.
Logical value,controls whether matrix x should be scaled prior to forming dist.
Method of dist calculation. See function dist
.
Method of hclust calculation. See function hclust
.
Other args
Numeric vector giving an optimal dendrogram order
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.
# NOT RUN {
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)
# }
Run the code above in your browser using DataLab