public void SetData(SeriesVariable dependentVariable, SeriesVariables independentVariables, LinearRegressionAnalysisForm.LRSpecification lrProperties)
 {
     this.dependentVariable = dependentVariable;
     this.independentVariables = independentVariables;
     this.lrProperties = lrProperties;
     this.update();
 }
        public void SetFilePath(string filePath)
        {
            this.filePathLabel.Text = filePath;
            this.reader             = new CSVReader(filePath);
            this.stringData         = this.reader.ReadDataToString();
            this.variableCount      = this.reader.ColumnCount;

            ValidatedNameTextBoxCell cellTemplate = new ValidatedNameTextBoxCell();

            this.nameColumn.CellTemplate   = cellTemplate;
            this.variableNameGrid.RowCount = this.variableCount;
            for (int i = 0; i < this.variableCount; i++)
            {
                this.variableNameGrid[0, i].Value = true;
                this.variableNameGrid[1, i].Value = (i + 1).ToString();
                this.variableNameGrid[2, i].Value = "variable" + (i + 1).ToString();
            }

            for (int i = 0; i < reader.RowCount; i++)
            {
                for (int j = 0; j < reader.ColumnCount - 1; j++)
                {
                    this.previewTextBox.AppendText(this.stringData[i][j] + "\t");
                }
                this.previewTextBox.AppendText(this.stringData[i][reader.ColumnCount - 1] + "\n");
            }
            this.previewTextBox.Text = this.previewTextBox.Text;

            this.selectedVariables = new SeriesVariables();
        }
示例#3
0
 public void SetData(SeriesVariable dependentVariable, SeriesVariables independentVariables, LinearRegressionAnalysisForm.LRSpecification lrProperties)
 {
     this.dependentVariable    = dependentVariable;
     this.independentVariables = independentVariables;
     this.lrProperties         = lrProperties;
     this.update();
 }
        /// <summary>
        /// Mencari index variabel pada list
        /// </summary>
        /// <param name="variableCollection">list variabel</param>
        /// <param name="name">nama variabel</param>
        /// <returns>index</returns>
        public static int FindVariableIndex(SeriesVariables variableCollection, string name)
        {
            variableToFind = new SeriesVariable(name, "");
            System.Predicate<SeriesVariable> search = findVariablePredicate;

            return variableCollection.FindIndex(search);
        }
        /// <summary>
        /// Mencari index group pada list
        /// </summary>
        /// <param name="variableCollection">list group</param>
        /// <param name="name">nama group</param>
        /// <returns>index</returns>
        public static int FindGroupIndex(SeriesGroups groupCollection, string name)
        {
            SeriesVariables a = new SeriesVariables();
            groupToFind = new SeriesGroup(name, a);
            System.Predicate<SeriesGroup> search = findGroupPredicate;

            return groupCollection.FindIndex(search);
        }
示例#6
0
 public void SetData(SeriesVariables sourceVariables, SeriesGroups sourceGroups)
 {
     this.sourceVariables          = sourceVariables;
     this.sourceGroups             = sourceGroups;
     this.sourceVariables.Changed += new ChangedEventHandler(sourceVariables_Changed);
     this.sourceGroups.Changed    += new ChangedEventHandler(sourceGroups_Changed);
     this.update();
 }
示例#7
0
 private void getSelectedVariable()
 {
     this.dependentVariable    = (SeriesVariable)this.lstDependent.Items[0];
     this.independentVariables = new SeriesVariables();
     foreach (Object item in this.lstIndependents.Items)
     {
         this.independentVariables.Add((SeriesVariable)item);
     }
 }
 public TransformVariable(SeriesVariables sourceVariables)
 {
     InitializeComponent();
     this.lstVariables.Items.Clear();
     foreach (SeriesVariable item in sourceVariables)
     {
         this.lstVariables.Items.Add(item);
     }
 }
示例#9
0
 public SelectAnalyzedVariable(SeriesVariables sourceVariables)
 {
     InitializeComponent();
     this.lstVariables.Items.Clear();
     foreach (SeriesVariable item in sourceVariables)
     {
         this.lstVariables.Items.Add(item);
     }
 }
示例#10
0
 public CreateSeriesStock(SeriesVariables sourceVariables)
 {
     InitializeComponent();
     this.sourceVariables = sourceVariables;
     this.lstVariables.Items.Clear();
     foreach (SeriesVariable item in sourceVariables)
     {
         this.lstVariables.Items.Add(item);
     }
 }
 public EditSeriesStock(SeriesVariables sourceVariables)
 {
     InitializeComponent();
     this.sourceVariables = sourceVariables;
     this.lstVariables.Items.Clear();
     foreach (SeriesVariable item in sourceVariables)
     {
         this.lstVariables.Items.Add(item);
     }
 }
 public EditSeriesGroup(SeriesVariables sourceVariables)
 {
     InitializeComponent();
     this.sourceVariables = sourceVariables;
     this.groupList = new SeriesVariables();
     this.lstVariables.Items.Clear();
     foreach (SeriesVariable item in sourceVariables)
     {
         this.lstVariables.Items.Add(item);
     }
 }
 public EditSeriesGroup(SeriesVariables sourceVariables)
 {
     InitializeComponent();
     this.sourceVariables = sourceVariables;
     this.groupList       = new SeriesVariables();
     this.lstVariables.Items.Clear();
     foreach (SeriesVariable item in sourceVariables)
     {
         this.lstVariables.Items.Add(item);
     }
 }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="name">nama project</param>
 /// <param name="frequency">frekuensi</param>
 /// <param name="start">tangal awal</param>
 /// <param name="end">tangal akhir</param>
 public SeriesData(string name,SeriesFrequency frequency, DateTime start, DateTime end)
 {
     this.seriesName = name;
     this.frequency = frequency;
     this.startDate = start;
     this.endDate = end;
     this.computeNumberObservations();
     this.createNewTimeData();
     this.seriesVariables = new SeriesVariables();
     this.seriesGroups = new SeriesGroups();
 }
        /// <summary>
        /// Constructor. untuk undated
        /// </summary>
        /// <param name="name">nama project</param>
        /// <param name="numberObservations">jumlah observasi</param>
        public SeriesData(string name, int numberObservations)
        {
            this.seriesName = name;
            this.frequency = SeriesData.SeriesFrequency.Undated;
            this.numberObservations = numberObservations;
            this.createNewTimeData();
            this.seriesVariables = new SeriesVariables();
            this.seriesGroups = new SeriesGroups();

            this.seriesVariables.Changed += new ChangedEventHandler(OnChanged);
            this.seriesGroups.Changed += new ChangedEventHandler(OnChanged);
            this.time.Changed += new ChangedEventHandler(OnChanged);
        }
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="name">nama project</param>
        /// <param name="frequency">frekuensi</param>
        /// <param name="start">tangal awal</param>
        /// <param name="end">tangal akhir</param>
        public SeriesData(string name,SeriesFrequency frequency, DateTime start, DateTime end)
        {
            this.seriesName = name;
            this.frequency = frequency;
            this.startDate = start;
            this.endDate = end;
            this.computeNumberObservations();
            this.createNewTimeData();
            this.seriesVariables = new SeriesVariables();
            this.seriesGroups = new SeriesGroups();
            this.seriesStocks = new SeriesStocks();

            this.seriesVariables.Changed += new ChangedEventHandler(OnChanged);
            this.seriesGroups.Changed += new ChangedEventHandler(OnChanged);
            this.seriesStocks.Changed += new ChangedEventHandler(OnChanged);
            this.time.Changed += new ChangedEventHandler(OnChanged);
        }
 public void SetData(SeriesData data,
                     SeriesVariable dependentVariable,
                     SeriesVariables independentVariables,
                     LinearRegressionAnalysisForm.LRSpecification lrProperties,
                     LinearRegressionAnalysisForm.LRComponent lrTable,
                     double[,] testValues,
                     string[] forcastedTime,
                     double[] forcastedData)
 {
     this.data = data;
     this.dependentVariable    = dependentVariable;
     this.independentVariables = independentVariables;
     this.lrProperties         = lrProperties;
     this.lrTable    = lrTable;
     this.testValues = testValues;
     this.time       = forcastedTime;
     this.forcasted  = forcastedData;
 }
        public void SetData(SeriesVariables independentVariables,
                            SeriesVariable dependentVariable,
                            double[,] testValues,
                            string[] forcastedTime,
                            double[] forcastedData)
        {
            foreach (SeriesVariable var in independentVariables)
            {
                DataGridViewTextBoxColumn clm = new DataGridViewTextBoxColumn();
                clm.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
                clm.HeaderText   = var.VariableName;
                clm.Name         = "clm" + var.VariableName;
                clm.ReadOnly     = true;
                clm.SortMode     = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic;
                this.grdForcasted.Columns.Add(clm);
            }
            DataGridViewTextBoxColumn c = new DataGridViewTextBoxColumn();

            c.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
            c.HeaderText   = dependentVariable.VariableName;
            c.Name         = "clm" + dependentVariable.VariableName;
            c.ReadOnly     = true;
            c.SortMode     = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic;
            this.grdForcasted.Columns.Add(c);

            this.grdForcasted.RowCount = forcastedTime.Length;
            for (int i = 0; i < this.grdForcasted.Rows.Count; i++)
            {
                this.grdForcasted.Rows[i].HeaderCell.Value = forcastedTime[i];
                for (int j = 0; j < independentVariables.Count; j++)
                {
                    this.grdForcasted.Rows[i].Cells[j].Value = testValues[j, i].ToString("F4");
                }
                this.grdForcasted.Rows[i].Cells[independentVariables.Count].Value = forcastedData[i].ToString("F4");
            }
            this.grdForcasted.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;
        }
        public void SetFilePath(string filePath)
        {
            this.filePathLabel.Text = filePath;

            excel          = new ExcelReader(filePath);
            this.excelData = excel.ReadData();

            cboSheet.Items.Clear();
            cboSheet.DisplayMember = "TableName";
            foreach (DataTable dt in this.excelData.Tables)
            {
                cboSheet.Items.Add(dt);
            }

            if (cboSheet.Items.Count == 0)
            {
                return;
            }
            cboSheet.SelectedIndex = 0;

            ValidatedNameTextBoxCell cellTemplate = new ValidatedNameTextBoxCell();

            this.nameColumn.CellTemplate = cellTemplate;
            if (this.excelData.Tables[cboSheet.SelectedIndex].Rows.Count > 0)
            {
                this.variableNameGrid.RowCount = this.excelData.Tables[0].Columns.Count;
                for (int i = 0; i < this.excelData.Tables[0].Columns.Count; i++)
                {
                    this.variableNameGrid[0, i].Value = false;
                    this.variableNameGrid[1, i].Value = (i + 1).ToString();
                    this.variableNameGrid[2, i].Value = "variable" + (i + 1).ToString();
                }
            }

            this.selectedVariables = new SeriesVariables();
        }
        public void SetData(SeriesVariables independentVariables, 
            SeriesVariable dependentVariable,
            double[,] testValues,
            string[] forcastedTime,
            double[] forcastedData)
        {
            foreach (SeriesVariable var in independentVariables)
            {
                DataGridViewTextBoxColumn clm = new DataGridViewTextBoxColumn();
                clm.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
                clm.HeaderText = var.VariableName;
                clm.Name = "clm" + var.VariableName;
                clm.ReadOnly = true;
                clm.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic;
                this.grdForcasted.Columns.Add(clm);
            }
            DataGridViewTextBoxColumn c = new DataGridViewTextBoxColumn();
            c.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
            c.HeaderText = dependentVariable.VariableName;
            c.Name = "clm" + dependentVariable.VariableName;
            c.ReadOnly = true;
            c.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic;
            this.grdForcasted.Columns.Add(c);

            this.grdForcasted.RowCount = forcastedTime.Length;
            for (int i = 0; i < this.grdForcasted.Rows.Count; i++)
            {
                this.grdForcasted.Rows[i].HeaderCell.Value = forcastedTime[i];
                for (int j = 0; j < independentVariables.Count; j++)
                {
                    this.grdForcasted.Rows[i].Cells[j].Value = testValues[j, i].ToString("F4");
                }
                this.grdForcasted.Rows[i].Cells[independentVariables.Count].Value = forcastedData[i].ToString("F4");
            }
            this.grdForcasted.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;
        }
 public void SetData(SeriesData data, SeriesVariables independentVariables)
 {
     this.data = data;
     this.independentVariables = independentVariables;
 }
 public void SetData(SeriesData data,
     SeriesVariable dependentVariable,
     SeriesVariables independentVariables,
     LinearRegressionAnalysisForm.LRSpecification lrProperties,
     LinearRegressionAnalysisForm.LRComponent lrTable,
     double[,] testValues,
     string[] forcastedTime,
     double[] forcastedData)
 {
     this.data = data;
     this.dependentVariable = dependentVariable;
     this.independentVariables = independentVariables;
     this.lrProperties = lrProperties;
     this.lrTable = lrTable;
     this.testValues = testValues;
     this.time = forcastedTime;
     this.forcasted = forcastedData;
 }
 private void getSelectedVariable()
 {
     this.dependentVariable = (SeriesVariable)this.lstDependent.Items[0];
     this.independentVariables = new SeriesVariables();
     foreach (Object item in this.lstIndependents.Items)
     {
         this.independentVariables.Add((SeriesVariable)item);
     }
 }
 public void SetData(SeriesData data, SeriesVariables independentVariables)
 {
     this.data = data;
     this.independentVariables = independentVariables;
 }
示例#25
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="name">nama group</param>
 /// <param name="groupList">list variabel anggota group</param>
 public SeriesGroup(string name, SeriesVariables groupList)
 {
     this.groupName = name;
     this.groupList = groupList;
 }
        /// <summary>
        /// Linear regression with Y and one or more independent variables
        /// equation: y = b0 + b1x1 + b2x2 + ... + b(p-1)x(p-1) + e
        /// equation in matrix form: Y = XB + E
        /// </summary>
        /// <param name="dependent">SeriesVariable. dependent variable</param>
        /// <param name="independents">SeriesVariables. independent variable</param>
        public LinearRegressionModel(SeriesVariable dependent, SeriesVariables independents)
        {
            //Vector vY = new Vector(dependent.SeriesValuesNoNaN.ToArray());
            //int n = vY.Tuples;
            //int p = independents.Count + 1;
            //Matrix mX = new Matrix(n, p);
            //for (int i = 0; i < p; i++) //kolom
            //{
            //    for (int j = 0; j < n; j++) //baris
            //    {
            //        if (i == 0)
            //            mX[j, i] = 1.0;
            //        else
            //            mX[j, i] = independents[i - 1][j];
            //    }
            //}

            // changed to deal with missing values
            Vector vY = new Vector(dependent.SeriesValuesNoNaN.ToArray());
            int n = vY.Tuples;
            int p = independents.Count + 1;
            Matrix mX = new Matrix(n, p);
            for (int i = 0; i < p; i++) //kolom
            {
                for (int j = 0; j < n; j++) //baris
                {
                    if (i == 0)
                        mX[j, i] = 1.0;
                    else
                        mX[j, i] = independents[i - 1].SeriesValuesNoNaN[j];
                }
            }

            this.lse = new LeastSquareEstimator(mX, vY);

            this.f = this.lse.MSR / this.lse.MSE;
            this.sigOfF = Distribution.F.PValue(this.f, p - 1, n - p);

            double sumOfEtMinusEt_1Square = 0;
            double sumOfESquare = this.lse.ESquare[0];
            for (int i = 1; i < n; i++)
            {
                sumOfEtMinusEt_1Square += Math.Pow(this.lse.E[i] - this.lse.E[i - 1],2.0);
                sumOfESquare += this.lse.ESquare[i];
            }
            this.durbinWatson = sumOfEtMinusEt_1Square / sumOfESquare;

            this.stdErrorOfParameters = new double[p];
            this.t = new double[p];
            this.sigOfT = new double[p];
            this.lbOfParameters = new double[p];
            this.ubOfParameters = new double[p];
            for (int i = 0; i < p; i++)
            {
                this.stdErrorOfParameters[i] = Math.Sqrt(this.lse.SbSquare[i, i]);
                this.t[i] = this.lse.B[i] / this.stdErrorOfParameters[i];
                this.sigOfT[i] = Distribution.T.PValue(this.t[i], n - p, Distribution.T.TestType.TwoSided);
                double error = Distribution.T.InversCDF(0.975, n - p);
                this.ubOfParameters[i] = this.lse.B[i] + error * this.stdErrorOfParameters[i];
                this.lbOfParameters[i] = this.lse.B[i] - error * this.stdErrorOfParameters[i];
            }

            this.vifForPredictors = new double[p - 1];
            this.partialCorr = new double[p - 1];
            this.corr = new double[p - 1];
            for (int i = 1; i < p; i++)
            {
                Vector y = new Vector(mX.GetColData(i));
                Matrix x = new Matrix(n, p - 1);
                int col = 0;
                for (int j = 0; j < p; j++)
                {
                    if (j != i)
                    {
                        for (int k = 0; k < n; k++)
                        {
                            x[k, col] = mX[k, j];
                        }
                        col++;
                    }
                }
                Matrix xtx = x.GetTranspose() * x;
                Vector xty = x.GetTranspose() * y;
                Vector b = xtx.Solve(xty);
                Matrix mJ = new Matrix(n, n);
                mJ.InitializeAllValue(1.0);
                double yty = Vector.DoubleMultiply(y.GetTranspose(), y);
                Vector jy = mJ * y;
                double ssto = yty - Vector.DoubleMultiply(y.GetTranspose(), jy) / n;
                double sse = yty - Vector.DoubleMultiply(b.GetTranspose(), xty);
                double ssr = ssto - sse;
                double rSquare = ssr / ssto;
                this.vifForPredictors[i - 1] = 1 / (1 - rSquare);
                this.corr[i - 1] = computePearsonCorr(vY,y);

                Vector xty2 = x.GetTranspose() * vY;
                Vector b2 = xtx.Solve(xty2);
                double yty2 = Vector.DoubleMultiply(vY.GetTranspose(), vY);
                double sse2 = yty2 - Vector.DoubleMultiply(b2.GetTranspose(), xty2);
                double partDetermination = (sse2 - this.lse.SSE) / sse2;
                this.partialCorr[i - 1] = Math.Sqrt(partDetermination);

            }

            this.expectedResidual = new double[n];
            for (int k = 1; k <= n; k++)
            {
                this.expectedResidual[k - 1] = this.lse.StandardError * Distribution.Normal.InversCDF((k - 0.375) / (n + 0.25));
            }
        }
        /// <summary>
        /// Membaca data
        /// </summary>
        /// <returns>Series Data hasil pembacaan</returns>
        public SeriesData ReadData()
        {
            SeriesData tmpData;
            seriesDataReader.ReadToFollowing("SeriesData");
            seriesDataReader.ReadStartElement();
            {
                string seriesName = seriesDataReader.ReadElementContentAsString();
                SeriesData.SeriesFrequency freq = (SeriesData.SeriesFrequency)seriesDataReader.ReadElementContentAsInt();
                DateTime startDate = new DateTime();
                DateTime endDate = new DateTime();
                if (freq != SeriesData.SeriesFrequency.Undated)
                {
                    startDate = XmlConvert.ToDateTime(seriesDataReader.ReadElementContentAsString(), "dd/MM/yyyy");
                    endDate = XmlConvert.ToDateTime(seriesDataReader.ReadElementContentAsString(), "dd/MM/yyyy");
                }
                else
                {
                    seriesDataReader.Skip();
                    seriesDataReader.Skip();
                }
                int numberObservations = seriesDataReader.ReadElementContentAsInt();

                if (freq != SeriesData.SeriesFrequency.Undated)
                    tmpData = new SeriesData(seriesName, freq, startDate, endDate);
                else
                    tmpData = new SeriesData(seriesName, numberObservations);
            }

            seriesDataReader.ReadStartElement();
            while (seriesDataReader.IsStartElement("SeriesVariable"))
            {
                SeriesVariable tmpVariable;
                seriesDataReader.ReadStartElement();
                {
                    string variableName = seriesDataReader.ReadElementContentAsString();
                    string variableDescription = seriesDataReader.ReadElementContentAsString();
                    tmpVariable = new SeriesVariable(variableName, variableDescription);
                }
                seriesDataReader.ReadStartElement();
                for (int i = 0; i < tmpData.NumberObservations; i++)
                {
                    tmpVariable.SeriesValues.Add(seriesDataReader.ReadElementContentAsDouble());
                }
                seriesDataReader.ReadEndElement();
                tmpData.SeriesVariables.Add(tmpVariable);
                seriesDataReader.ReadEndElement();
            }

            seriesDataReader.ReadToFollowing("SeriesGroups");
            seriesDataReader.ReadStartElement();
            while (seriesDataReader.IsStartElement("SeriesGroup"))
            {
                SeriesGroup tmpGroup;
                SeriesVariables tmpGroupList= new SeriesVariables();
                seriesDataReader.ReadStartElement();
                string groupName = seriesDataReader.ReadElementContentAsString();
                seriesDataReader.ReadStartElement();
                while (seriesDataReader.IsStartElement("SeriesVariableItem"))
                {
                    SeriesVariable tmpVariableItem;
                    string variableName = seriesDataReader.ReadElementContentAsString();
                    tmpVariableItem = tmpData.SeriesVariables[VariableFinder.FindVariableIndex(tmpData.SeriesVariables, variableName)];
                    tmpGroupList.Add(tmpVariableItem);

                }
                tmpGroup = new SeriesGroup(groupName, tmpGroupList);
                seriesDataReader.ReadEndElement();
                tmpData.SeriesGroups.Add(tmpGroup);
                seriesDataReader.ReadEndElement();
            }

            return tmpData;
        }
        public void SetFilePath(string filePath)
        {
            this.filePathLabel.Text = filePath;

            excel = new ExcelReader(filePath);
            this.excelData = excel.ReadData();

            cboSheet.Items.Clear();
            cboSheet.DisplayMember = "TableName";
            foreach (DataTable dt in this.excelData.Tables)
                cboSheet.Items.Add(dt);

            if (cboSheet.Items.Count == 0) return;
            cboSheet.SelectedIndex = 0;

            ValidatedNameTextBoxCell cellTemplate = new ValidatedNameTextBoxCell();
            this.nameColumn.CellTemplate = cellTemplate;
            if (this.excelData.Tables[cboSheet.SelectedIndex].Rows.Count > 0)
            {
                this.variableNameGrid.RowCount = this.excelData.Tables[0].Columns.Count;
                for (int i = 0; i < this.excelData.Tables[0].Columns.Count; i++)
                {
                    this.variableNameGrid[0, i].Value = false;
                    this.variableNameGrid[1, i].Value = (i + 1).ToString();
                    this.variableNameGrid[2, i].Value = "variable" + (i + 1).ToString();
                }
            }

            this.selectedVariables = new SeriesVariables();
        }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="name">nama group</param>
 /// <param name="groupList">list variabel anggota group</param>
 public SeriesGroup(string name, SeriesVariables groupList)
 {
     this.groupName = name;
     this.groupList = groupList;
     groupList.Changed += new ChangedEventHandler(groupList_Changed);
 }
        public void SetFilePath(string filePath)
        {
            this.filePathLabel.Text = filePath;
            this.reader = new CSVReader(filePath);
            this.stringData = this.reader.ReadDataToString();
            this.variableCount = this.reader.ColumnCount;

            ValidatedNameTextBoxCell cellTemplate = new ValidatedNameTextBoxCell();
            this.nameColumn.CellTemplate = cellTemplate;
            this.variableNameGrid.RowCount = this.variableCount;
            for (int i = 0; i < this.variableCount; i++)
            {
                this.variableNameGrid[0, i].Value = true;
                this.variableNameGrid[1, i].Value = (i + 1).ToString();
                this.variableNameGrid[2, i].Value = "variable" + (i + 1).ToString();
            }

            for (int i = 0; i < reader.RowCount; i++)
            {
                for (int j = 0; j < reader.ColumnCount - 1; j++)
                {
                    this.previewTextBox.AppendText(this.stringData[i][j] + "\t");
                }
                this.previewTextBox.AppendText(this.stringData[i][reader.ColumnCount - 1] + "\n");
            }
            this.previewTextBox.Text = this.previewTextBox.Text;

            this.selectedVariables = new SeriesVariables();
        }
 public void SetData(SeriesVariables sourceVariables, SeriesGroups sourceGroups)
 {
     this.sourceVariables = sourceVariables;
     this.sourceGroups = sourceGroups;
     this.sourceVariables.Changed += new ChangedEventHandler(sourceVariables_Changed);
     this.sourceGroups.Changed += new ChangedEventHandler(sourceGroups_Changed);
     this.update();
 }