如何拆分具有多对一结构的 JMP 表你好,
我在 JMP 中有以下“堆叠”数据表;
| 测试 ID | 样品类型 | 结果 |
| 测试ID_1 | 样本 | 10 |
| 测试ID_1 | 样本 | 12 |
| 测试ID_1 | 样本 | 11 |
| 测试ID_1 | 样本 | 14 |
| 测试ID_1 | 样本 | 9 |
| 测试ID_1 | 控制 | 11 |
| 测试_ID_2 | 样本 | 9 |
| 测试_ID_2 | 样本 | 8 |
| 测试_ID_2 | 样本 | 10 |
| 测试_ID_2 | 控制 | 14 |
| 测试ID_3 | 样本 | 十三 |
| 测试ID_3 | 控制 | 15 |
| 测试ID_4 | 样本 | 9 |
| 测试ID_4 | 样本 | 7 |
| 测试ID_4 | 控制 | 12 |
我想通过解压从上表生成下表;
| 测试 ID | 样本类型 = 样本 | 样本类型 = 对照 |
| 测试ID_1 | 10 | 11 |
| 测试ID_1 | 12 | 11 |
| 测试ID_1 | 11 | 11 |
| 测试ID_1 | 14 | 11 |
| 测试ID_1 | 9 | 11 |
| 测试_ID_2 | 9 | 14 |
| 测试_ID_2 | 8 | 14 |
| 测试_ID_2 | 10 | 14 |
| 测试ID_3 | 十三 | 15 |
| 测试ID_4 | 9 | 12 |
| 测试ID_4 | 7 | 12 |
堆叠数据包含给定对照的不同数量的样本。有时样本和对照之间存在 1 对 1 的相关性,但更常见的情况是,一个对照对应多个样本。样本数量可以从 1 到 n 不等,但始终只有一个对照。我使用的是 JMP 16.0.1。
谢谢,
蒂姆
高级统计建模消费者和市场研究数据混合和清理大规模定制回复:如何拆分具有多对一结构的 JMP 表这是一个小脚本,可将您的简单示例表转换为您想要的新格式。它使用几个子集和一个更新来完成任务。
Names Default To Here( 1 );
dt = Current Data Table();
dt << select where( :Sample Type == "Sample" );
dtFinal = dt << subset(
selected rows( 1 ),
columns( {"Test ID", "Result"} ),
Output Table( "Final" )
);
dtFinal:Result << set name( "Sample Type = Sample" );
dt << invert row selection;
dtTemp = dt << subset( invisible,
selected rows( 1 ),
columns( {"Test ID", "Result"} )
);
dtTemp:Result << set name( "Sample Type = Control" );
dtFinal <<UPDATE></UPDATE>

回复:如何拆分具有多对一结构的 JMP 表您也可以尝试创建分组列
Col Cumulative Sum(1, :Test ID, :Sample Type)

与拆分一起使用


然后从控制列中选择一行并填充以前的值

和清理(删除顺序列,重新排序列,如果需要重命名)

这在这种相当简单的情况下有效,但在使用 JMP 的拆分平台时也很容易丢失数据,因此请小心(顺序列试图防止这种情况)。