PairedStats pairedStats = calculateStatistics(i, baseResultset, j, comparisonColumn); double width = ((Math.log(Math.abs(pairedStats.yStats.mean)) / Math.log(10))+1); if (width > maxWidthMean) { maxWidthMean = (int)width; }  if (m_ShowStdDevs) { width = ((Math.log(Math.abs(pairedStats.yStats.stdDev)) / Math.log(10))+1); if (width > maxWidthStdDev) { maxWidthStdDev = (int)width;
try { PairedStats pairedStats = calculateStatistics(i, baseResultset, j, comparisonColumn); double width = ((Math.log(Math.abs(pairedStats.yStats.mean)) / Math.log(10))+1); if (width > maxWidthMean) { maxWidthMean = (int)width; }  if (m_ShowStdDevs) { width = ((Math.log(Math.abs(pairedStats.yStats.stdDev)) / Math.log(10))+1); if (width > maxWidthStdDev) { maxWidthStdDev = (int)width; } } }  catch (Exception ex) {
  public String multiResultsetFull(int baseResultset,				   int comparisonColumn) throws Exception {    int maxWidthMean = 2;    int maxWidthStdDev = 2;    // determine max field width    for (int i = 0; i < getNumDatasets(); i++) {      for (int j = 0; j < getNumResultsets(); j++) {	PairedStats pairedStats = calculateStatistics(i, baseResultset,						      j,						      comparisonColumn);	double width = ((Math.log(Math.abs(pairedStats.yStats.mean)) / 			 Math.log(10))+1);	if (width > maxWidthMean) {	  maxWidthMean = (int)width;	}	if (m_ShowStdDevs) {	  width = ((Math.log(Math.abs(pairedStats.yStats.stdDev)) / 		    Math.log(10))+1);	  if (width > maxWidthStdDev) {	    maxWidthStdDev = (int)width;	  }	}      }    }    StringBuffer result = new StringBuffer(1000);    int datasetLength = 25;    //    int resultsetLength = 9;    //    int resultsetLength = 16;    int resultsetLength = maxWidthMean + 7;    if (m_ShowStdDevs) {      resultsetLength += (maxWidthStdDev + 5);    }    // Set up the titles    StringBuffer titles = new StringBuffer(Utils.padRight("Dataset",							  datasetLength));    titles.append(' ');    StringBuffer label = new StringBuffer(			     Utils.padLeft("("					   + (baseResultset + 1)					   + ") "					   + getResultsetName(baseResultset),					   resultsetLength + 3));    titles.append(label);    StringBuffer separator = new StringBuffer(Utils.padRight("",							     datasetLength));    while (separator.length() < titles.length()) {      separator.append('-');    }    separator.append("---");    titles.append(" | ");    for (int j = 0; j < getNumResultsets(); j++) {      if (j != baseResultset) {	label = new StringBuffer(Utils.padLeft("(" + (j + 1) + ") "			      + getResultsetName(j), resultsetLength));	titles.append(label).append(' ');	for (int i = 0; i < label.length(); i++) {	  separator.append('-');	}	separator.append('-');      }    }    result.append(titles).append('\n').append(separator).append('\n');        // Iterate over datasets    int [] win = new int [getNumResultsets()];    int [] loss = new int [getNumResultsets()];    int [] tie = new int [getNumResultsets()];    StringBuffer skipped = new StringBuffer("");    for (int i = 0; i < getNumDatasets(); i++) {      // Print the name of the dataset      String datasetName = m_Instances.attribute(m_DatasetColumn).value(i);      try {	PairedStats pairedStats = calculateStatistics(i, baseResultset,						      baseResultset,						      comparisonColumn);	datasetName = Utils.padRight(datasetName, datasetLength);	result.append(datasetName);	result.append(Utils.padLeft('('				+ Utils.doubleToString(pairedStats.count, 0)				+ ')', 5)).append(' ');	if (!m_ShowStdDevs) {	  result.append(Utils.doubleToString(pairedStats.xStats.mean,	       			     resultsetLength - 2, 2)).append(" | ");	} else {	  result.append(Utils.doubleToString(pairedStats.xStats.mean,					     (maxWidthMean+5), 2));	  result.append('('+Utils.doubleToString(pairedStats.xStats.stdDev,						 (maxWidthStdDev+3),2)+')').append(" | ");	}	// Iterate over the resultsets	for (int j = 0; j < getNumResultsets(); j++) {	  if (j != baseResultset) {	    try {	      pairedStats = calculateStatistics(i, baseResultset, j,						comparisonColumn);	      char sigChar = ' ';	      if (pairedStats.differencesSignificance < 0) {		sigChar = 'v';		win[j]++;	      } else if (pairedStats.differencesSignificance > 0) {		sigChar = '*';		loss[j]++;	      } else {		tie[j]++;	      }	      if (!m_ShowStdDevs) {		result.append(Utils.doubleToString(pairedStats.yStats.mean,						   resultsetLength - 2,						   2)).append(' ')		  .append(sigChar).append(' ');	      } else {		result.append(Utils.doubleToString(pairedStats.yStats.mean,						    (maxWidthMean+5),						   2));		result.append('('+Utils.doubleToString(pairedStats.				   yStats.stdDev, (maxWidthStdDev+3),2)+')');		result.append(' ').append(sigChar).append(' ');	      }	    } catch (Exception ex) {	      result.append(Utils.padLeft("", resultsetLength + 1));	    }	  }	}	result.append('\n');      } catch (Exception ex) {	skipped.append(datasetName).append(' ');      }    }    result.append(separator).append('\n');    result.append(Utils.padLeft("(v/ /*)", datasetLength + 4 +				resultsetLength)).append(" | ");    for (int j = 0; j < getNumResultsets(); j++) {      if (j != baseResultset) {	result.append(Utils.padLeft("(" + win[j] + '/' + tie[j]				    + '/' + loss[j] + ')',				    resultsetLength)).append(' ');      }    }    result.append('\n');    if (!skipped.equals("")) {      result.append("Skipped: ").append(skipped).append('\n');    }    return result.toString();  }