Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何将大量表格数据拆分为较小的相关表格?(不是争议裁决委员会的问题)_Vb.net_Algorithm_Math_Scripting - Fatal编程技术网

Vb.net 如何将大量表格数据拆分为较小的相关表格?(不是争议裁决委员会的问题)

Vb.net 如何将大量表格数据拆分为较小的相关表格?(不是争议裁决委员会的问题),vb.net,algorithm,math,scripting,Vb.net,Algorithm,Math,Scripting,我真的希望我能用一种可以理解的方式来描述这个问题。这是一个难题,虽然我(大部分)理解它,但我还没有开始解决它。我只是不知道从哪里开始,我真的希望有人能让我朝着正确的方向前进 我有一个很大的数据表。它描述对象之间的关系。假设Y轴上有编号为1-1000的项目,X轴上也有编号为1-1000的项目。如果Y轴上的项目#234与X轴上的项目#791相关,则表中的行和列交叉处将有一个标记。在某些行业,这是指真值表。一眼就能看出一个系统中有多少项相互关联。表中的标记有助于识别趋势和模式 以下是一些关于表格性质的

我真的希望我能用一种可以理解的方式来描述这个问题。这是一个难题,虽然我(大部分)理解它,但我还没有开始解决它。我只是不知道从哪里开始,我真的希望有人能让我朝着正确的方向前进

我有一个很大的数据表。它描述对象之间的关系。假设Y轴上有编号为1-1000的项目,X轴上也有编号为1-1000的项目。如果Y轴上的项目#234与X轴上的项目#791相关,则表中的行和列交叉处将有一个标记。在某些行业,这是指真值表。一眼就能看出一个系统中有多少项相互关联。表中的标记有助于识别趋势和模式

以下是一些关于表格性质的其他有用信息:


  • 任意轴上每个项目的关系数(r)的完整范围可以是1这不是答案,我只是想尝试更好地可视化数据。它看起来像这样吗

            Alice  Bob  Charlie ... Zelda
    Shoes     X            X
    Hats            X                 X
    Gloves                 X
    ...
    Pants           X
    
    编辑

    是否要求以表格格式显示数据?或者你能把每个都列出来吗?比如:

    • 爱丽丝
    • 鲍勃
      • 帽子
      • 裤子
    • 查理
      • 手套
    • 塞尔达
      • 帽子
    或者另一种方式:

      • 爱丽丝
      • 查理
    • 帽子
      • 鲍勃
      • 塞尔达
    • 手套
      • 查理
    • 裤子
      • 鲍勃
    编辑2

    好的,我制作了另一个更大的真值表,希望能更好地理解你想要如何分割事物:

       A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
     1 x   x     x                             x
     2   x x     x             x         x     x
     3 x               x             x             x
     4         x             x     x
     5   x           x                 x
     6               x             x           x
     7   x             x             x
     8         x               x               x
    
    为了便于讨论,让我们假设一页只能容纳4行(因为我不想在这么早的时候敲出一个巨大的表格),所以我们将把它分成两页。首先,显示每一行很重要,对吗?第二,是否需要显示从不具有值的列。例如,
    Y
    Z
    在此表中的第1行到第8行从未有值,它们可以从报告中排除,还是仍然需要存在?第三,行的顺序重要吗

    如果显示完全空的列并不重要,那么我们可以从上表中删除10列,并将其压缩为:

       A B C E F H I L M O P Q R U V W
     1 x   x   x                 x
     2   x x   x       x       x x
     3 x           x       x         x
     4       x       x   x
     5   x       x           x
     6           x       x       x
     7   x         x       x
     8       x         x         x
    
    然后,如果行顺序不重要,您可以通过采用最佳行排列(此处不一定显示)进一步压缩它。下表进一步压缩为11列和10列:

      A B C F H I M P Q R U
    1 x   x x             x
    2   x x x     x     x x
    5   x     x       x
    7   x       x   x
    
      A E H I L M O P U W
    3 x     x       x   x
    4   x     x   x
    6     x       x   x
    8   x       x     x
    
    我是不是走错了路?这些都是帮助我更好地理解您的数据和输出需求的问题


    此外,严肃地说,是否可以选择使用更大的打印机/绘图仪?另外,生成PDF并使用Acrobat的打印磁贴选项也是一种选择吗?

    去年我在计算生物学PLoS期刊()上读了一篇文章,这篇文章似乎与你的问题有关

    简言之,它描述了一种新的方法,当我们已经有一组蛋白质和关于它们一对一相互作用的表格数据时,我们想要对它们进行分组,以便使一个组内的相互作用和两个组之间的相互作用最大化或最小化(这是一个创新的想法)

    如果我们用黑色表示高交互,白色表示低交互,绘制开始数据表,它会随机显示为灰色。在完成计算和重新排列之后(这样分组的项目彼此靠近放置),结果表看起来更像是黑白正交区域

    文章:


    其中还参考了其他较旧的技术来对此类数据进行分组。

    一般要求是表格化。真值表是表示我们目标行业关系的常用方法。真值表是一个大得多的报表的一部分,该报表包含一个分解各个项目的视图。@jwatts1980我在上面又添加了一些问题。@Chris Haas对于您的新示例,它看起来相当不错。它还说明了这种方法固有的弱点之一,即两个表中有几个列是重复的。“完美”的场景是列和行不重复,但我认为从数学上讲,这在很多情况下是不可能的。也就是说,我认为目标应该是尽量减少重复。如果有选择的话,对于我所表示的数据,最好是复制行而不是列。@Chris Haas我在我的问题中添加了一个与表的性质相关的编辑。“超级表”中不会有空的行或列。两个轴上的每个项目都将与另一个轴上的至少一个项目相关。@Chris Haas re:大型打印机和平铺。。。这些都是我们讨论过的选择。我们甚至尝试过平铺页面,但我们只是觉得最终结果不是最佳的。如果是在这和没有桌子之间,最好是有桌子。但我们认为,与长期使用绘图仪相比,努力将“超级表格”拆分成更小的表格将是一个更好的起点。此外,我们希望尽可能方便我们的客户,翻阅一小堆文件似乎比打开一张大文件要好。看起来您正在寻找一种聚类算法,可以将相关内容组合到更易于管理的表中。关于这一点我知道的不多,我只推荐搜索“机器学习”和“聚类分析”之类的短语,并试着找出你需要知道的内容。@b多亏了你为这个问题命名,我在维基百科上找到了一些关于聚类的内容。我在里面找。如果我想出一个算法