/** * Adapts data from the 'DataSet' object to de 'BaseDatos' object * * @param ds Data set */ private void convierteDatos(Dataset ds) { boolean seguir; base = new Vector(); Vector ejemplo = null; for (int i = 0; i < ds.getNdatos(); i++) { ejemplo = new Vector(); seguir = true; for (int j = 0; (j < ds.getNvariables() - 1) && seguir; j++) { // 'DataSet' object stores data in 'String' objects, but 'BaseDatos' does it in 'Double' or // 'Integer' objects if (!ds.isMissing(i, j)) { if (tipos.get(j).equals("real")) { ejemplo.add(new Double(ds.getExample(i)[j])); } else if (tipos.get(j).equals("integer")) { ejemplo.add(new Integer((int) ds.getExample(i)[j])); } else if (tipos.get(j).equals("enumerado")) { Integer dato = new Integer((int) ds.getExample(i)[j]); ejemplo.add(dato); } } /*if (!ds.getDatosIndex(i, j).equals("?") && !ds.getDatosIndex(i, j).equals("<null>")) { if (tipos.get(j).equals("real")) { ejemplo.add(new Double(ds.getDatosIndex(i, j))); } else if (tipos.get(j).equals("integer")) { ejemplo.add(new Integer(ds.getDatosIndex(i, j))); } else if (tipos.get(j).equals("enumerado")) { Integer dato = new Integer(((Vector) valEnum.get(j)). indexOf(ds.getDatosIndex(i, j))); ejemplo.add(dato); } } */ else { seguir = false; } } if (seguir) { ejemplo.add(new Integer(ds.getOutputAsInteger(i))); base.add(ejemplo); } } numEjemplos = base.size(); }