// g03aa Example Program Text // C# version, NAG Copyright 2008 using System; using NagLibrary; using System.Globalization; namespace NagDotNetExamples { public class G03AAE { static string datafile = "ExampleData/g03aae.d"; static void Main(String[] args) { if (args.Length == 1) { datafile = args[0]; } StartExample(); } public static void StartExample() { try { DataReader sr = new DataReader(datafile); int i, j, m, n, nvar; string matrix="", std="", weight=""; int ifail; Console.WriteLine("g03aa Example Program Results"); // Skip heading in data file sr.Reset(); sr.Reset(); matrix = sr.Next(); std = sr.Next(); weight = sr.Next(); n = int.Parse(sr.Next()); m = int.Parse(sr.Next()); double[] s = new double[m]; double[] wt = new double[n]; double[,] x = new double[n, m]; int[] isx = new int[m]; if ( n >= 2 && m >= 1 ) { if ((weight == "U") || (weight == "u")) { for (i = 1 ; i <= n ; i++) { sr.Reset(); for (j = 1 ; j <= m ; j++) { x[i - 1 , j - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } } } else { for (i = 1 ; i <= n ; i++) { sr.Reset(); for (j = 1 ; j <= m ; j++) { x[i - 1 , j - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } wt[i - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } } sr.Reset(); for (j = 1 ; j <= m ; j++) { isx[j - 1] = int.Parse(sr.Next()); } nvar = int.Parse(sr.Next()); double[,] e = new double[nvar, 6]; double[,] p = new double[nvar, nvar]; double[,] v = new double[n, nvar]; if ((matrix == "S") || (matrix == "s")) { sr.Reset(); for (j = 1 ; j <= m ; j++) { s[j - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } } // G03.g03aa(matrix, std, weight, n, m, x, isx, s, wt, nvar, e, p, v, out ifail); // if (ifail == 0) { Console.WriteLine(""); Console.WriteLine(" {0}","Eigenvalues Percentage Cumulative Chisq DF Sig"); Console.WriteLine(" {0}"," variation variation"); Console.WriteLine(""); for (i = 1 ; i <= nvar ; i++) { for (j = 1 ; j <= 6 ; j++) { Console.Write("{0, 12:f4}", e[i - 1 , j - 1]); } Console.WriteLine(); } Console.WriteLine(""); Console.WriteLine(" {0}","Principal component loadings"); Console.WriteLine(""); for (i = 1 ; i <= nvar ; i++) { for (j = 1 ; j <= nvar ; j++) { Console.Write("{0, 9:f4}", p[i - 1 , j - 1]); } Console.WriteLine(); } Console.WriteLine(""); Console.WriteLine("{0}","Principal component scores"); Console.WriteLine(""); for (i = 1 ; i <= n ; i++) { Console.Write(" {0}", i); for (j = 1 ; j <= nvar ; j++) { Console.Write("{0, 9:f3}", v[i - 1 , j - 1]); } Console.WriteLine(); } } else { Console.WriteLine(""); Console.WriteLine(" {0}{1,5}"," ** g03aa returned with ifail = ",ifail); } } // } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine("Exception Raised"); } } } }