当前位置: 首页>>代码示例>>C#>>正文


C# DataTable.ToMatrix方法代码示例

本文整理汇总了C#中System.Data.DataTable.ToMatrix方法的典型用法代码示例。如果您正苦于以下问题:C# DataTable.ToMatrix方法的具体用法?C# DataTable.ToMatrix怎么用?C# DataTable.ToMatrix使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Data.DataTable的用法示例。


在下文中一共展示了DataTable.ToMatrix方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Build_Corr_Matrix

        void Build_Corr_Matrix(DataTable tempdt)
        {
            for (int i = 0; i < tempdt.Columns.Count; i++)
            {
                string type = tempdt.Columns[i].DataType.ToString();
                if ((type.Contains(typeof(string).ToString()) || type.Contains(typeof(char).ToString())))
                {
                    tempdt.Columns.Remove(tempdt.Columns[i]);
                }
                else
                {
                    foreach (DataRow dr in tempdt.Rows)
                    {
                        if (dr[i].GetType().ToString().Contains("DBNull"))
                        {
                            dr[i] = 0.0;
                        }
                    }
                }
            }

            double[,] tableMatrix = tempdt.ToMatrix();
            double[,] correlMatrix = Accord.Statistics.Tools.Correlation(tableMatrix);
            string[] names = new string[tempdt.Columns.Count];
            int h = 0;
            TableRow headRow = new TableRow();

            TableCell cornerCell = new TableCell();
            cornerCell.Text = "-";
            cornerCell.BorderStyle = System.Web.UI.WebControls.BorderStyle.Solid;
            cornerCell.BorderWidth = System.Web.UI.WebControls.Unit.Pixel(1);
            headRow.Cells.Add(cornerCell);

            foreach (DataColumn col in tempdt.Columns)
            {
                string type = col.DataType.ToString();
                if (!(type.Contains(typeof(string).ToString()) || type.Contains(typeof(char).ToString())))
                {
                    names[h] = col.ColumnName.ToString();

                    TableCell cell = new TableCell();
                    cell.Text = names[h];
                    cell.BorderStyle = System.Web.UI.WebControls.BorderStyle.Solid;
                    cell.BorderWidth = System.Web.UI.WebControls.Unit.Pixel(1);
                    headRow.Cells.Add(cell);

                    h++;
                }
            }

            CorrTable.Rows.Add(headRow);

            for (int i = 0; i < correlMatrix.Rows(); i++)
            {
                double[] row = correlMatrix.GetRow(i);
                int length = row.Length;

                TableRow tR = new TableRow();

                TableCell rowName = new TableCell();
                rowName.Text = names[i];
                rowName.BorderStyle = System.Web.UI.WebControls.BorderStyle.Solid;
                rowName.BorderWidth = System.Web.UI.WebControls.Unit.Pixel(1);
                tR.Cells.Add(rowName);

                for (int j = 0; j < length; j++)
                {
                    TableCell cell = new TableCell();

                    if (j <= i)
                    {
                        cell.Text = row[j].ToString("0.###");
                    }
                    else
                    {
                        cell.Text = "-";
                    }

                    cell.BorderStyle = System.Web.UI.WebControls.BorderStyle.Solid;
                    cell.BorderWidth = System.Web.UI.WebControls.Unit.Pixel(1);
                    tR.Cells.Add(cell);
                }
                CorrTable.Rows.Add(tR);
            }
        }
开发者ID:logan-krall,项目名称:HP-Project,代码行数:85,代码来源:Upload.aspx.cs

示例2: ToMatrixTest2

        public void ToMatrixTest2()
        {
            DataTable table = new DataTable("myData");
            table.Columns.Add("Double", typeof(double));
            table.Columns.Add("Integer", typeof(int));
            table.Columns.Add("Boolean", typeof(bool));

            table.Rows.Add(4.20, 42, true);
            table.Rows.Add(-3.14, -17, false);
            table.Rows.Add(21.00, 0, false);

            double[,] expected =
            {
                {  4.20,  42, 1 },
                { -3.14, -17, 0 },
                { 21.00,   0, 0 },
            };

            double[,] actual = table.ToMatrix();

            Assert.IsTrue(expected.IsEqual(actual));


            string[] expectedNames = { "Double", "Integer", "Boolean" };
            string[] actualNames;

            table.ToMatrix(out actualNames);

            Assert.IsTrue(expectedNames.IsEqual(actualNames));
        }
开发者ID:CanerPatir,项目名称:framework,代码行数:30,代码来源:MatrixTest.cs

示例3: AnalysisData

        private ArrayDataView AnalysisData(DataTable dataTable)
        {
            DescriptiveAnalysis analysis;
            string[] columnNames;

            double[,] arrayData = dataTable.ToMatrix(out columnNames);

            // Analysis Data
            analysis = new DescriptiveAnalysis(arrayData, columnNames);
            analysis.Compute();

            double[,] analysisData = new double[0, arrayData.GetLength(1)];

            analysisData = analysisData.InsertRow<double>(analysis.Distinct.ToDouble(), analysisData.GetLength(0));
            analysisData = analysisData.InsertRow<double>(analysis.Means, analysisData.GetLength(0));
            analysisData = analysisData.InsertRow<double>(analysis.Medians, analysisData.GetLength(0));
            analysisData = analysisData.InsertRow<double>(analysis.Modes, analysisData.GetLength(0));
            analysisData = analysisData.InsertRow<double>(analysis.StandardDeviations, analysisData.GetLength(0));
            analysisData = analysisData.InsertRow<double>(analysis.Variances, analysisData.GetLength(0));
            analysisData = analysisData.InsertRow<double>(analysis.Sums, analysisData.GetLength(0));

            string[] rowNames = { "Distinct", "Means", "Medians", "Modes", "StandardDeviations", "Variances", "Sums" };

            return new ArrayDataView(analysisData, columnNames, rowNames);
        }
开发者ID:hpbaotho,项目名称:benhvien,代码行数:25,代码来源:FormMainTabPreprocessingData.cs


注:本文中的System.Data.DataTable.ToMatrix方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。