列的简单随机样本你好,
我知道如何使用 JMP 创建使用行但不使用列的 SRS。 我有 118,000 列作为转录组的一部分,我想计算所有基因(即跨行)的标准偏差。 这样做会导致 JMP 在具有 8 GB RAM 的 Macbook Air 上崩溃。 因此,我想知道我是否可以选择 5,000 或 10,000 个基因组并计算它们的标准偏差。 然后,我可以取几个 SRS 的平均标准差(每列是一个唯一的基因。)。 如果我将表格转置到行中基因所在的位置,转置步骤本身将导致 JMP 崩溃! 有任何想法吗?
PS:我会附上数据文件,但它是 80 MB!
回复:列的简单随机样本是的,我确实尝试计算 118,000 列的标准偏差,但它冻结了 JMP,我通常在几个小时后放弃。 不过,我可能会尝试让它在今晚通宵运行。
另外,我了解到,当您为 12 个样本堆叠 118000 列时,生成的 JMP 表超过 2 GB 并且不稳定! 这很奇怪,因为 118000 列 x 12 行的表只有 50 MB。 我想知道为什么 6 列 x 150 万行的表要大得多?
回复:列的简单随机样本恭喜您找到解决方案!
如果您使用的是 JMP 14,您可能希望在表中尝试以下列公式。 既然您说您的内存有限,并且可能发生崩溃,请先保存任何重要的东西。
Std Dev( Current Data Table()[Row(), Index( c1, c2 )] )
其中 c1 是第一列,c2 是最后一列,例如 6, 118005。
如果没有崩溃,我会删除公式。
顺便说一句,堆叠表可能更有效地进行汇总。 只是提出一个可能的替代方案。
回复:列的简单随机样本@abmayfield ,
我不知道在不使用脚本的情况下以交互方式执行此操作的方法。
回复:列的简单随机样本非常感谢。 这正是我所需要的。 现在我可以对列或堆栈数据进行 SRS。 只是出于好奇,您知道如果没有 JMP14 中的脚本,这是否可以解决? 谢谢,
安德森
回复:列的简单随机样本为了回答我自己的问题,可以堆叠 118,000 列,这使我能够通过我的治疗因素查看所有基因的标准差。 但我也会尝试这个随机列选择脚本。
回复:列的简单随机样本@abmayfield ,
如果我了解您的需求,您是否希望能够在数据表中随机选择“n”列? 试着看看这个:
dt = Open( "$SAMPLE_DATA/Airline Delays.jmp" );
nColumns = n Cols(dt); <BR /><BR />nSampleCols = 2;
SelCols = As List(Random Index(nColumns,nSampleCols));
dt << Select columns(SelCols);
我认为这允许从数据表中随机抽取“n”列。 现在您可以使用随机样本来做您想做的事,如果这就是您所追求的,请告诉我。