| | |
Descriptive statistics
Please support our C# advertiser: Intel Parallel Studio Home
A bunch of basic statistical functions.
I could have made a class here and I could have used more features of C#. But just to keep it simple I left it as a console application. So the modifications you have to make if you're into C, C++, Java etc. should be minor.
I could have made a class here and I could have used more features of C#. But just to keep it simple I left it as a console application. So the modifications you have to make if you're into C, C++, Java etc. should be minor.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Statistics { class Program { static void Main(string[] args) { Intro(); ////////////////////////////////////////////////////////// // TestAr could come from a file or userinput or whatever. // Here TestAr is an array just for simplicity. ///////////////////////////////////////////////////////// double[] TestAr = { 3.3, 5.77, 7.34, 9, 4.1, 13.66, 6.2, 7.65, 11.3, 12.67, 9, 10.03, 12.6, 3.76 }; Console.WriteLine("\tThe mean is ............. : {0}", mean(TestAr.Length, TestAr)); Console.WriteLine("\tThe standard error is ... : {0}", stderr(TestAr.Length, TestAr)); Console.WriteLine("\tThe median is ............ : {0}", median(TestAr.Length, TestAr)); Console.WriteLine("\tThe standard deviation is : {0}", stddev(TestAr.Length, TestAr)); Console.WriteLine("\tThe variance is .......... : {0}", variance(TestAr.Length, TestAr)); Console.WriteLine("\tThe range is ............. : {0}", range(TestAr.Length, TestAr)); Console.WriteLine("\tThe minimum is ........... : {0}", min(TestAr.Length, TestAr)); Console.WriteLine("\tThe maximum is ........... : {0}", max(TestAr.Length, TestAr)); Console.WriteLine("\tThe sum is ............... : {0}", sum(TestAr.Length, TestAr)); Console.WriteLine("\tThe number of data is .... : {0}", TestAr.Length); Console.WriteLine(""); Console.WriteLine("========================================================="); Console.ReadKey(); } static void Intro() { Console.WriteLine("========================================================="); Console.WriteLine("| |"); Console.WriteLine("| Descriptive STATISTICS |"); Console.WriteLine("| |"); Console.WriteLine("========================================================="); Console.WriteLine(""); } /// ================================================================== /// Sums up all the numbers in an array arr with length len. /// ////////////////////////////////////////////////////////////////// static double sum(int len, double[] arr) { double sum = 0.0; for (int i = 0; i < len; i++) { sum += arr[i]; } return sum; } /// ================================================================== /// Calculates the MEAN of an array arr with length len. /// The mean is given by sum of numbers/amount of numbers. /// ////////////////////////////////////////////////////////////////// static double mean(int len, double[] arr) { return sum(len, arr) / len; } /// ================================================================== /// Calculates the sample VARIANCE of an array arr with length len. /// It is the sum of the squares of the difference of the numbers with /// their mean, divided by the amount of numbers minus one. /// ////////////////////////////////////////////////////////////////// static double variance(int len, double[] arr) { double m = mean(len, arr); double sum = 0.0; double d = 0.0; for (int i = 0; i < len; i++) { d = arr[i] - m; sum += d * d; } return sum / (len - 1); } /// ================================================================== /// Calculates the STANDARD DEVIATION of an array arr with length len. /// It is the square root of the variance /// ////////////////////////////////////////////////////////////////// static double stddev(int len, double[] arr) { return Math.Sqrt(variance(len,arr)); } /// ================================================================== /// Calculates the STANDARD ERROR of an array arr with length len. /// It is the standard deviation divided by the square root of the /// amount of numbers. /// ////////////////////////////////////////////////////////////////// static double stderr(int len, double[] arr) { return stddev(len, arr) / Math.Sqrt(len); } /// ================================================================== /// Calculates the MINIMUM of an array arr with length len. /// ////////////////////////////////////////////////////////////////// static double min(int len, double[] arr) { double mini = double.MaxValue; for (int i = 0; i < len; i++) { if (arr[i] < mini) { mini = arr[i]; } } return mini; } /// ================================================================== /// Calculates the MAXIMUM of an array arr with length len. /// ////////////////////////////////////////////////////////////////// static double max(int len, double[] arr) { double maxi = double.MinValue; for (int i = 0; i < len; i++) { if (arr[i] > maxi) { maxi = arr[i]; } } return maxi; } /// ================================================================== /// Calculates the RANGE of an array arr with length len. /// It is the difference between the largest and the smallest number. /// ////////////////////////////////////////////////////////////////// static double range(int len, double[] arr) { return max(len, arr) - min(len, arr); } /// ================================================================== /// Calculates the MEDIAN of an array arr with length len. /// It is the middle value of an array of sorted numbers. /// ////////////////////////////////////////////////////////////////// static double median(int len, double[] arr) { int i, j; double temp; for (i = 0; i < len - 1; i++) { for (j = i + 1; j < len; j++) { if (arr[j] < arr[i]) { temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } if (len % 2 == 0) return ((arr[len / 2] + arr[len / 2 - 1]) / 2.0); else return arr[len / 2]; } } }
Similar Threads
- Where to get statistics for PHPLD? (PHP)
- cstring statistics (C++)
- Oracle Statistics (Oracle)
- Statistics tracker? (Linux Servers and Apache)
| Thread Tools | Search this Thread |
algorithm analytics angle array billion bitmap c# c++ character china community conversion count cuil decimal degrees development drawing enum equation form function gadgets gdi+ google internet javascript mandelbrot math mathematics method news numbers operator picturebox plotting polynomial prime primenumbersinrange radians recursive research round search social-networking statistics technology time twitter unitedkingdom usb vb vbnet web wolframalpha word




