Description Usage Arguments Value Author(s) Examples
Given the type
of distance measure and agglomeration scheme method
, gr.hclust
performs hierarchical clustering on
Grassmann manifold using fastcluster package, which returns the same object as stats package's implementation while providing more efficient computation.
See hclust
for more details.
1 2 3 4 5 6 7 8 
input 
either an array of size (n\times k\times N) or a list of length N whose elements are (n\times k) orthonormal basis (ONB) on Grassmann manifold. 
type 
type of distance measure. measure. Name of each type is Case Insensitive and hyphen can be omitted. 
method 
he agglomeration method to be used. This must be (an unambiguous abbreviation of) one of 
members 

an object of class hclust
. See hclust
for details.
Kisung You
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33  ## generate a dataset with two types of Grassmann elements
# group1 : first four columns of (8x8) identity matrix + noise
# group2 : last four columns of (8x8) identity matrix + noise
mydata = list()
sdval = 0.25
diag8 = diag(8)
for (i in 1:10){
mydata[[i]] = qr.Q(qr(diag8[,1:4] + matrix(rnorm(8*4,sd=sdval),ncol=4)))
}
for (i in 11:20){
mydata[[i]] = qr.Q(qr(diag8[,5:8] + matrix(rnorm(8*4,sd=sdval),ncol=4)))
}
## try hierarchical clustering with "intrinsic" distance
opar < par(no.readonly=TRUE)
hint < gr.hclust(mydata, type="intrinsic")
plot(hint, main="intrinsic+single")
par(opar)
## do hierarchical clustering with different distance measures
alltypes = c("intrinsic","extrinsic","asimov","binetcauchy",
"chordal","fubinistudy","martin","procrustes","projection","spectral")
ntypes = length(alltypes)
opar < par(no.readonly=TRUE)
par(mfrow=c(2,5), pty="s")
for (i in 1:ntypes){
hout = gr.hclust(mydata, type=alltypes[i])
plot(hout, main=paste0("hclust::",alltypes[i]))
}
par(opar)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.