public static void outputANOVAs(GroupedChannels data,
			List<String> groupNames, List<Integer> conditions, int numChunks,
			int precision) {
		// get all condition-group sequences:
		ArrayList<GroupedChannels.TaggedDataSequence> allTDSs = data
				.getAllSelectedTDSs(groupNames, conditions);

		chunkData(allTDSs, numChunks); // COMMENT THIS LATER

		int idFieldWidth = getIdFieldWidth(groupNames, conditions, precision);
		// create a format string for the group/condition combination identifier
		// fields in the output:
		String idFieldFormat = "%-" + idFieldWidth + "s"; // format string
		String separator = " , "; // what goes between columns of output

		// output the first row, containing identifying information for each
		// group-condition combination:
		// first, output proper-width placeholder for the identifier column:
		System.out.printf("%" + idFieldWidth + "s" + separator, ""); // TOO
																		// HACKY??
		// then, output all tds identifiers:
		for (GroupedChannels.TaggedDataSequence tds : allTDSs) {
			System.out.printf(idFieldFormat + separator, tds.getGroupName()
					+ " c" + tds.getCondition());
			// System.out.printf(idFieldFormat + "  ",
			// tds.getGroupName(),
			// tds.getCondition());
		}
		System.out.println(); // print newline
		// output ANOVA values line by line:
		OneWayAnova myANOVA = new OneWayAnova();
		for (GroupedChannels.TaggedDataSequence first : allTDSs) {
			// output tds identifier in first column:
			System.out.printf(idFieldFormat + separator, first.getGroupName()
					+ " c" + first.getCondition());
			// create Collection to send to the ANOVA object:
			LinkedList<double[]> dataSets = new LinkedList<double[]>();
			// convert first's data sequence to an array, then add it to
			// dataSets
			dataSets.add(toPrimitiveDoubleArray(first.getData()));
			dataSets.add(null); // placeholder for second's data sequence
			for (GroupedChannels.TaggedDataSequence second : allTDSs) {
				// convert and add second's data sequence to position one in
				// dataSets:
				// dataSets.add(second.getData().toArray());
				dataSets.set(1, toPrimitiveDoubleArray(second.getData()));
				double result = -1; // so it'll be obvious something's wrong
									// later if this doesn't get changed
				try {
					result = myANOVA.anovaPValue(dataSets);
				} catch (Exception ex) {
					System.out.println();
					localError("unknown problem calculating ANOVA: "
							+ ex.getMessage());
				}
				System.out.printf("%-" + idFieldWidth + "." + precision + "f"
						+ separator, result);
				// dataSets.remove(1); // remove second's data from dataSets
			}
			System.out.println(); // print newline
		}
	}