根据列表过滤表列大家好,
我已经使用 JMP Pro 一段时间了,尽管我从未用它运行过脚本。 我还在探索 JMP Genomics,因为我确实使用各种平台进行了大量的“组学”分析。 目前,我处于 JMP Pro 世界中,我正在尝试找出如何过滤数据表。
我无法弄清楚的一件事是如何根据列表(包含列名)或测试结果来过滤(或创建新表)表。 例如,我有一个 600 行 x 10,000 列的宽表(表 1)。 我有另一个表(表 2),其中有一列来自表 1 的列 ID(200 个列名称)。
有没有办法:
- 根据表 2 中的列 ID 制作表 1 中的列组?
- 或者,根据表 2 中的列 ID 创建表 1 的子集?
我认为其中任何一个都会对我的工作流程有所帮助,但我无法在此处的论坛或帮助指南中找到解决方案。
提前致谢!
乔纳森
回复:根据列表过滤表列伟大的! 谢谢你带我经历了这一切。 很有帮助!回复:根据列表过滤表列根据我的测试,我相信列表正在创建,但它在您拥有的列数中丢失了。因此,我对代码进行了简单的更改,添加列表的名称,然后告诉列表移动到列列表的前面。
names default to here(1);
dt = Current Data Table();
dtSingle = open ("TCAlist.jmp");
//longList=dt<<GET column="" names=""></GET>回复:根据列表过滤表列回复:根据列表过滤表列如果你能附上2个数据表,我会看看这个问题
回复:根据列表过滤表列因此不会出现任何消息/错误。 各列拼写正确,并且不存在大小写问题。 当我运行此脚本时,脚本的第二部分起作用...它创建了一个包含“TCAlist”中列出的 3 个项目的子集。 唯一没有发生的事情是在主表上创建组。 我的表格的前几行有问题吗? 当前的数据表是否会导致这种情况?回复:根据列表过滤表列日志中有哪些消息? 各列的拼写是否正确? 是否存在大小写问题???回复:根据列表过滤表列谢谢吉姆!
我能够让“创建子集”脚本在我的 2 个数据表上工作,但是在这两个相同的表上“创建组”似乎并未在主表中创建组。 不过,它在示例数据示例上运行良好。 可能遗漏了一些明显的东西:)感谢您的帮助!
names default to here(1);
dt = Current Data Table();
dtSingle = Open ("TCAlist.jmp");
// Create a group
theList = dtSingle:Cols << get values;
dt << group columns(theList);
// Create a subset
// Select columns in data table dt, that are in dtSingle
try( dt << Select Columns( dtSingle:Cols << get values ));
dtSubset = dt << subset( selected rows(0), selected columns(1) );回复:根据列表过滤表列这是一个简单的脚本,显示您指定的两个请求
names default to here(1);
dt=open("$SAMPLE_DATA/semiconductor capability.jmp");
dtSingle = New Table("Single Column", new column("Cols", character,values({"PNP2","NPN3","INM1"})));
// Create a group
theList = dtSingle:Cols << get values;
dt << group columns( theList);
// Create a subset
// Select columns in data table dt, that are in dtSingle
try( dt << Select Columns( dtSingle:Cols << get values ));
dtSubset = dt << subset( selected rows(0), selected columns(1) );