title: Strange error of Hierarchical Clustering in R
body: <p>My R program is as below:</p>
  
  <pre><code>hcluster &lt;- function(dmatrix) {
      imatrix &lt;- NULL
      hc &lt;- hclust(dist(dmatrix), method="average")
      for(h in sort(unique(hc$height))) {
          hc.index &lt;- c(h,as.vector(cutree(hc,h=h)))
          imatrix &lt;- cbind(imatrix, hc.index)
      }
      return(imatrix)
  }
  
  dmatrix_file = commandArgs(trailingOnly = TRUE)[1]
  print(paste('Reading distance matrix from', dmatrix_file))
  dmatrix &lt;- as.matrix(read.csv(dmatrix_file,header=FALSE))
  
  imatrix &lt;- hcluster(dmatrix)
  imatrix_file = paste("results",dmatrix_file,sep="-")
  print(paste('Wrinting results to', imatrix_file))
  write.table(imatrix, file=imatrix_file, sep=",", quote=FALSE, row.names=FALSE, col.names=FALSE)
  print('done!')
  </code></pre>
  
  <p>My input is a distance matrix (of course symmetric). When I execute above program with a distance matrix larger than about thousands records(Nothing happen for several hundreds), it gave me the error message:</p>
  
  <pre><code>Error in cutree(hc, h = h) : 
    the 'height' component of 'tree' is not sorted
  (increasingly); consider applying as.hclust() first
  Calls: hcluster -&gt; as.vector -&gt; cutree
  Execution halted
  </code></pre>
  
  <p>My machine has about 16GB of RAMs and 4CPU, so it won't be the problem of resources. </p>
  
  <p>Can anyone please let me know what's the problem? Thanks!!</p>