private void button2_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; Console.WriteLine("Building query...."); var factory = new SimpleSQLFactory(this.visualQueryBuilder1.SelectedTableName, new List<string>() { this.visualQueryBuilder1.SelectedFieldName, this.visualQueryBuilder1.SelectedRowGroupingFieldName, this.visualQueryBuilder1.SelectedColGroupingFieldName }); var db = new AccessDatabase(this.textboxWithOpenFileDialog1.Text); var builder = new StandardQueryBuilder(factory); Console.WriteLine("Retrieving data from access..."); DataTable results = db.ExecuteQuery(builder.BuildSQL()); try { Console.WriteLine("Calculating aggregate statistics"); var statistics = new BasicStatistics(results, 0); var visualiser = new DataVisualisation.BasicStatisticsVisualiser(statistics); this.explorationPanel1.SetAggregateResults(visualiser); } catch (FormatException ex) { MessageBox.Show(ex.Message + " Please make sure you have selected quantitative variables for the analysis", "Error analysing query dataset", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (InvalidCastException ex) { MessageBox.Show(ex.Message + " Please make sure you have selected quantitative variables for the analysis", "Error analysing query dataset", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { this.Cursor = Cursors.Default; } var adapter = new DataTableToCrossTabAdapter(results, new DataTableToCrossTabAdapterArgs() { RowFieldNames = new List<string>(){this.visualQueryBuilder1.SelectedRowGroupingFieldName}, ColFieldNames = new List<string>(){this.visualQueryBuilder1.SelectedColGroupingFieldName} }); Console.WriteLine("Building crosstab..."); var ctDataTable = new CrossTabDataTable(adapter, this.visualQueryBuilder1.SelectedRowGroupingFieldName); this.explorationPanel1.SetCrossTab(ctDataTable); this.extendedTabControl1.SelectedTab = this.tabPage4; Console.WriteLine("Complete."); }
/// <summary> /// Overloaded constructor. Inverts a basic statistics object /// </summary> /// <param name="statistics">Contains the basic statistics</param> public BasicStatisticsVisualiser(BasicStatistics statistics) { this.statistics = new Dictionary<string, double>(); AddStatistic(SAMPLE_SIZE, statistics.N); AddStatistic(MEAN, statistics.Mean); AddStatistic(STANDARD_DEV, statistics.StdDev); AddConfidenceIntervalStatisics(statistics); AddStatistic(MEDIAN, statistics.Median); AddStatistic(IQR, statistics.IQR); AddStatistic(LOWER_QUARTILE, statistics.Percentile(0.25)); AddStatistic(UPPER_QUARTILE, statistics.Percentile(0.75)); AddStatistic(FIFTH_PERCENTILE, statistics.Percentile(0.05)); AddStatistic(NINTYFIFTH_PERCENTILE, statistics.Percentile(0.95)); AddStatistic(MINIMUM, statistics.Minimum); AddStatistic(MAXIMUM, statistics.Maximum); }
/// <summary> /// Overloaded constructor /// </summary> /// <param name="statistics">Basic statistics for data</param> /// <param name="level">Chosen confidence level</param> public ConfidenceIntervalStandardNormal(BasicStatistics statistics, ConfidenceLevel level) { this.statistics = statistics; this.level = level; }
/// <summary> /// Constructor: assumes 95% confidence level /// </summary> /// <param name="statistics">Basic statistics for data</param> public ConfidenceIntervalStandardNormal(BasicStatistics statistics) { this.statistics = statistics; this.level = ConfidenceLevel.NinetyFive; }
protected void AddConfidenceIntervalStatisics(BasicStatistics statistics) { var ci = new ConfidenceIntervalStandardNormal(statistics); AddStatistic(STANDARD_ERROR, ci.StandardError); AddStatistic(LOWER_CONFIDENCE_INTERVAL, ci.LowerBound); AddStatistic(UPPER_CONFIDENCE_INTERVAL, ci.UpperBound); }
private void RecordAllocationResult() { BasicStatistics stats = new BasicStatistics(this.allDistances); var CI = new ConfidenceIntervalStandardNormal(stats); this.allocationResult = new AllocationResult() { Mean = stats.Mean, LCI = CI.LowerBound, UCI = CI.UpperBound, Stats = stats, }; }
/// <summary> /// Create a LocalityResult object to store result for locality /// </summary> /// <param name="locality">Name of locality</param> /// <param name="data">data points for locality</param> protected void RecordLocalityResults(string locality, List<double> data) { BasicStatistics stats = new BasicStatistics(data); var CI = new ConfidenceIntervalStandardNormal(stats); var localityResult = new LocalityResult() { Locality = locality, Mean = Math.Round(stats.Mean, DECIMAL_PLACES), LCI = Math.Round(CI.LowerBound, DECIMAL_PLACES), UCI = Math.Round(CI.UpperBound, DECIMAL_PLACES), FifthPercentile = Math.Round(stats.Percentile(FIFTH_PERCENTILE), DECIMAL_PLACES), NinetyFifthPercentile = Math.Round(stats.Percentile(NINETYFIFTH_PERCENTILE), DECIMAL_PLACES) }; resultsByLocality.Add(localityResult); }
/// <summary> /// Overloaded constructor /// </summary> /// <param name="statsVariable1">Statistics object for variable 1</param> /// <param name="statsVariable2">Statistics object for variable 2</param> /// <param name="level">Chosen confidence level</param> public ConfidenceIntervalForMeanDifference(BasicStatistics statsVariable1, BasicStatistics statsVariable2, ConfidenceLevel level) { this.statsVariable1 = statsVariable1; this.statsVariable2 = statsVariable2; this.level = level; }
/// <summary> /// Constructor /// </summary> /// <param name="statsVariable1">Statistics object for variable 1</param> /// <param name="statsVariable2">Statistics object for variable 2</param> public ConfidenceIntervalForMeanDifference(BasicStatistics statsVariable1, BasicStatistics statsVariable2) { this.statsVariable1 = statsVariable1; this.statsVariable2 = statsVariable2; this.level = ConfidenceLevel.NinetyFive; }