/// <summary> /// /// </summary> /// <param name="data"></param> public DescriptiveAnalysis(SampleMatrix data) { this.m_sourceData = data; // Run analysis this.m_mean = Statistics.Tools.Mean(data); this.m_stdDev = Statistics.Tools.StandardDeviation(data, m_mean); this.m_dScores = m_sourceData.Clone(); Statistics.Tools.Center(m_dScores, m_mean); this.m_zScores = Statistics.Tools.ZScores(data, m_mean, m_stdDev); this.m_median = Statistics.Tools.Median(data); this.m_mode = Statistics.Tools.Mode(data); this.m_variance = Statistics.Tools.Variance(data, m_mean); this.m_covMatrix = Statistics.Tools.Covariance(data, m_mean); this.m_corMatrix = Statistics.Tools.Covariance(m_zScores); this.m_ranges = new DoubleRange[this.m_sourceData.Columns]; for (int i = 0; i < m_ranges.Length; i++) { this.m_ranges[i] = m_sourceData.GetColumn(i).Range; } // Create object-oriented structure to access data DescriptiveMeasures[] measures = new DescriptiveMeasures[m_sourceData.Columns]; for (int i = 0; i < measures.Length; i++) { measures[i] = new DescriptiveMeasures(this, i); } this.m_measuresCollection = new DescriptiveMeasureCollection(measures); }