List of usage examples for org.apache.commons.math3.stat.descriptive MultivariateSummaryStatistics getMean
public double[] getMean()
From source file:org.dawnsci.spectrum.ui.processing.AverageProcess.java
@Override public List<IContain1DData> process(List<IContain1DData> list) { list = SpectrumUtils.getCompatibleDatasets(list); if (list == null) return null; IDataset x0 = list.get(0).getxDataset(); StringBuilder sb = new StringBuilder(); sb.append("Average of: "); sb.append("\n"); MultivariateSummaryStatistics ms = new MultivariateSummaryStatistics(x0.getSize(), false); for (IContain1DData file : list) { sb.append(file.getName() + ":"); for (IDataset ds : file.getyDatasets()) { sb.append(ds.getName() + ":"); DoubleDataset dd;/*from w w w . j a v a 2 s . co m*/ if (ds instanceof DoubleDataset) dd = (DoubleDataset) ds; else { dd = (DoubleDataset) DatasetUtils.cast(ds, Dataset.FLOAT64); } double[] raw = dd.getData(); ms.addValue(raw); } sb.deleteCharAt(sb.length() - 1); sb.deleteCharAt(sb.length() - 1); sb.append("\n"); } List<IDataset> sets = new ArrayList<IDataset>(); Dataset dd = DatasetFactory.createFromObject(ms.getMean()); dd.setName("Average"); sets.add(dd); String shortName = "Average: " + list.get(0).getName() + " to " + list.get(list.size() - 1).getName(); return Arrays.asList(new IContain1DData[] { new Contain1DDataImpl(x0, sets, shortName, sb.toString() + "[" + sets.hashCode() + "]") }); }
From source file:org.dawnsci.spectrum.ui.utils.SpectrumUtils.java
public static ISpectrumFile averageSpectrumFiles(List<IContain1DData> files, IPlottingSystem<?> system) { files = getCompatibleDatasets(files); if (files == null) return null; IDataset x0 = files.get(0).getxDataset(); StringBuilder sb = new StringBuilder(); sb.append("Average of: "); sb.append("\n"); MultivariateSummaryStatistics ms = new MultivariateSummaryStatistics(x0.getSize(), false); for (IContain1DData file : files) { sb.append(file.getName() + ":"); for (IDataset ds : file.getyDatasets()) { sb.append(ds.getName() + ":"); DoubleDataset dd;/*from w ww. j av a2s . c o m*/ if (ds instanceof DoubleDataset) dd = (DoubleDataset) ds; else { dd = (DoubleDataset) DatasetUtils.cast(ds, Dataset.FLOAT64); } double[] raw = dd.getData(); ms.addValue(raw); } sb.deleteCharAt(sb.length() - 1); sb.deleteCharAt(sb.length() - 1); sb.append("\n"); } List<IDataset> sets = new ArrayList<IDataset>(); Dataset dd = DatasetFactory.createFromObject(ms.getMean()); dd.setName("Average"); sets.add(dd); String shortName = "Average: " + files.get(0).getName() + " to " + files.get(files.size() - 1).getName(); return new SpectrumInMemory(sb.toString() + "[" + sets.hashCode() + "]", shortName, x0, sets, system); }