* @param experiments The experiments.
* @param measurements The measurements.
* @return An output layout for the suite of experiments.
*/
public static ExperimentOutputLayout create(ExperimentSuite experiments, MeasurementSuite measurements) {
TableLayoutBuilder master = new TableLayoutBuilder();
master.addColumn("Algorithm");
Map<String,Integer> dataColumns = new HashMap<String, Integer>();
for (String attr: experiments.getDataAttributes()) {
dataColumns.put(attr, master.getColumnCount());
master.addColumn(attr);
}
Map<String,Integer> algoColumns = new HashMap<String, Integer>();
for (String attr: experiments.getAlgorithmAttributes()) {
algoColumns.put(attr, master.getColumnCount());
master.addColumn(attr);
}
TableLayout common = master.build();
TableLayout results = layoutAggregateOutput(master, measurements);
TableLayout user = layoutUserTable(master, measurements);
return new ExperimentOutputLayout(common, dataColumns, algoColumns, results, user);