changeset 9:a3c03541fe6f draft default tip

Uploaded
author peter-waltman
date Mon, 11 Mar 2013 17:30:48 -0400
parents a58527c632b7
children
files cluster.tools/select.k.from.consensus.cluster.R
diffstat 1 files changed, 13 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/cluster.tools/select.k.from.consensus.cluster.R	Mon Mar 11 16:31:29 2013 -0400
+++ b/cluster.tools/select.k.from.consensus.cluster.R	Mon Mar 11 17:30:48 2013 -0400
@@ -197,11 +197,21 @@
 k.search.range <- (k.select-2):(k.select+2)
 k.search.range <- k.search.range[ k.search.range %in% as.numeric( names( vector.of.metric.changes ) ) ]
 k.search.range <- vector.of.metric.changes[ as.character( k.search.range ) ]
-k.search.range <- k.search.range[ k.search.range  < 0.25 ]
-k.search.range <- k.search.range[ k.search.range > 0.025 ]
+
+if ( sum( k.search.range  < 0.25 ) == 0 ) {
+  ## this should only happen if this is a garbage clustering
+  k.search.range <- k.search.range[ which.min( k.search.range ) ]
+} else {
+  k.search.range <- k.search.range[ k.search.range  < 0.25 ]
+}
+
+if ( sum( k.search.range  > 0.025 ) == 0 ) {
+  k.search.range <- k.search.range[ which.max( k.search.range ) ]
+} else {
+  k.search.range <- k.search.range[ k.search.range > 0.025 ]
+}
 k.search.range <- names( k.search.range )
 
-
 if ( exists("data") ) {
   ## what direction is the clustering in? rows or cols?
   elts <- unique( names( results[[2]]$consensusClass ) )