// g02cg Example Program Text // C# version, NAG Copyright 2008 using System; using NagLibrary; using System.Globalization; using System.IO; namespace NagDotNetExamples { public class G02CGE { static string datafile = "ExampleData/g02cge.d"; static void Main(String[] args) { if (args.Length == 1) { datafile = args[0]; } StartExample(); } public static void StartExample() { try { DataReader sr = new DataReader(datafile); const int k1 = 3; const int n = 5; const int k = k1 - 1; int i, j; int ifail; Console.WriteLine("g02cg Example Program Results"); // Skip heading in data file sr.Reset(); sr.Reset(); double[,] c = new double[k, k]; double[,] coef = new double[k, 3]; double[] con = new double[3]; double[,] r = new double[k1, k1]; double[] result = new double[13]; double[,] rinv = new double[k, k]; double[,] ssp = new double[k1, k1]; double[] xbar = new double[k1]; for (i = 1; i <= k1; i++) { xbar[i - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } for (i = 1; i <= k1; i++) { for (j = 1; j <= k1; j++) { ssp[i - 1, j - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } } for (i = 1; i <= k1; i++) { for (j = 1; j <= k1; j++) { r[i - 1, j - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } } Console.WriteLine(" "); Console.WriteLine(" {0}", "Means:"); for (i = 1; i <= k1; i++) { Console.WriteLine(" {0,4}{1,11:f4}", i, xbar[i - 1]); } Console.WriteLine(" "); Console.WriteLine(" "); Console.Write(" {0}", "Sums of squares and cross-products about means:\n"); for (j = 1; j <= k1; j++) { Console.Write(" {0,10}", j); } Console.WriteLine(" "); for (i = 1; i <= k1; i++) { Console.Write(" {0,4}", i); for (j = 1; j <= k1; j++) { Console.Write(" {0,11:f4}", ssp[i - 1, j - 1]); } Console.WriteLine(" "); } Console.WriteLine(" "); Console.WriteLine(" "); Console.Write(" {0}", "Correlation coefficients:\n"); for (j = 1; j <= k1; j++) { Console.Write(" {0,10}", j); } Console.WriteLine(" "); for (i = 1; i <= k1; i++) { Console.Write(" {0,4}", i); for (j = 1; j <= k1; j++) { Console.Write(" {0,11:f4}", r[i - 1, j - 1]); } Console.WriteLine(" "); } Console.WriteLine(" "); Console.WriteLine(" "); // G02.g02cg(n, k1, k, xbar, ssp, r, result, coef, con, rinv, c, out ifail); // if (ifail != 0) { Console.WriteLine(" "); Console.WriteLine("** g02cg failed with ifail = {0,5}", ifail); } else { Console.Write(" {0}", "Vble Coef Std err t-value\n\n"); for (i = 1; i <= k; i++) { Console.Write(" {0, 3}", i); for (j = 1; j <= 3; j++) { Console.Write(" {0,11:f4}", coef[i - 1, j - 1]); } Console.WriteLine(" "); } Console.WriteLine(" "); Console.Write(" {0}", "Const"); for (i = 1; i <= 3; i++) { Console.Write(" {0,11:f4}", con[i - 1]); } Console.WriteLine(" "); Console.WriteLine(" "); Console.Write(" {0}", "Analysis of regression table :-"); Console.WriteLine(" "); Console.Write(" {0}", " Source Sum of squares D.F. Mean square F-value"); Console.WriteLine(" "); Console.Write(" {0}", "Due to regression"); for (i = 1; i <= 4; i++) { Console.Write(" {0,11:f4}", result[i - 1]); } Console.WriteLine(" "); Console.Write(" {0}", "About regression"); for (i = 5; i <= 7; i++) { Console.Write(" {0,11:f4}", result[i - 1]); } Console.WriteLine(" "); Console.Write(" {0}", "Total "); for (i = 8; i <= 9; i++) { Console.Write(" {0,11:f4}", result[i - 1]); } Console.WriteLine(" "); Console.WriteLine(" "); Console.WriteLine(" {0}{1,8:f4}", "Standard error of estimate =", result[9]); Console.WriteLine(" {0}{1,8:f4}", "Multiple correlation (R) =", result[10]); Console.WriteLine(" {0}{1,8:f4}", "Determination (R squared) =", result[11]); Console.WriteLine(" {0}{1,8:f4}", "Corrected R squared =", result[12]); Console.WriteLine(" "); Console.WriteLine(" {0}", "Inverse of correlation matrix of independent variables:"); for (j = 1; j <= k; j++) { Console.Write(" {0,12}", j); } Console.WriteLine(" "); for (i = 1; i <= k; i++) { Console.Write(" {0, 4}", i); for (j = 1; j <= k; j++) { Console.Write(" {0,10:f4}", rinv[i - 1, j - 1]); } Console.WriteLine(" "); } Console.WriteLine(" "); Console.WriteLine(" "); Console.Write(" {0}", "Modified inverse matrix:\n"); for (j = 1; j <= k; j++) { Console.Write(" {0,12}", j); } Console.WriteLine(" "); for (i = 1; i <= k; i++) { Console.Write(" {0, 4}", i); for (j = 1; j <= k; j++) { Console.Write(" {0,11:f4}", c[i - 1, j - 1]); } Console.WriteLine(" "); } Console.WriteLine(" "); } // } catch (Exception e) { Console.WriteLine(e.Message); Console.Write( "Exception Raised"); } } } }