[过滤器:smut] DiedrichSchmidt 的帖子正文匹配“cum”,图板“discussions”。
帖子主题:回复:如何使用 JSL 从 PCA 平台保存 T²(或如何计算)
帖子正文:
你好@马克贝利,
感谢您的反馈,包括来自平台开发人员的 JSL。 好吧,事实证明,这是我所追求的解决方案(选项 1)是JSL 实际上是可能的!! 而且也简单得多。 我只需要在您发送的代码中看到它。 关键部分在这里:
Outlier Analysis( 1, Number of Components( N ), Save T Square ),
通过更改 Number of Components 输入中的“N”,并添加 Save T Square,它实际上会将 T² 公式保存到您定义的 N 个组件的数据表中。 我不知道在 Outlier Analysis() 调用中,您可以将请求发送到“Save T Square”。 与 N 组件一起执行此操作正是我希望做的,感谢您的帮助! 无需输入愿望清单或任何东西,JMP 已经可以为您完成!
我附上了 Iris_mod.jmp 数据表和用于计算 2、3 和 4 台 PC 的 T² 值的脚本。 很高兴知道如何有效地计算我需要的 T² 值。 我现在刚刚编写的用于计算的代码相当冗长和繁琐,尽管我相信一旦我把所有事情都理顺了它就会起作用。 但是,我更喜欢上面的解决方案——它只是多了几个字符的代码!
在仔细检查您发送的代码后,我注意到对于相同数量的 PC,从 PCA 平台计算的 T² 和代码中的“手动”计算是不同的。 关于为什么的任何线索? “手动”计算“错误”或执行方式与 PCA 的计算方式不同,或者发生了其他事情。 我还附上了另一个数据表 Iris_mod_different_T2.jmp,它显示了相同数量 PC 的 T² 结果与 PCA 平台和“手动”计算不同。 在另行通知之前,我更喜欢使用 PCA 平台的 T² 公式。 我想知道“手动”计算是否有什么不同以及为什么值不一样。
再次感谢!,
DS
PS 如果有人感兴趣,我一直在处理的代码如下。 它是一个交互式代码,允许用户选择要在其上执行 PCA 的列,然后动态选择用于提取 DModX 和 T² 公式的 PC 数量。 如果您想进行其他分析,您甚至可以将选定的 PC 数量保存到数据表中。
非常感谢@jthi寻求此代码其他方面的帮助,以便让事情按预期工作,例如 <
Names Default To Here( 1 );
//Clear Symbols();
//Function to choose the data table to model
choose_data_table = Function( {},
list = {};
For( i = 1, i <= N Table(), i++,
list[i] = Data Table( i ) << get name
);
win = New Window( "Select a data table",
<<MODAL></MODAL> PCRptOutlier << Save DModX( N_PCs );
If( savePCs == 1,
PCRptOutlier << Save Principal Components( N_PCs )
);
PCRptOutlier<<CLOSEWINDOW> 0, Try( choose_data_table, Throw( "No data found" ) )
);
ModMetrics;
);
Firstwin;</CLOSEWINDOW>
正文“Cum”匹配过滤器模式“cum”。
用户 [id=12549,login=DiedrichSchmidt] 的帖子因以下最终用户面临的错误而被拒绝:
- 您的帖子已更改,因为在邮件正文中发现了无效的 HTML。 无效的 HTML 已被删除。 请审核留言,满意后提交留言。