根据下文讨论中的细节,这个想法被修改为要求当报告中有“按列/变量”时,将“源”或“制作组合数据表”脚本写入由制作组合数据表得到的表中。
--------------------------------------------------------
“制作组合数据表”是 JMP 最强大的功能之一,但也是编写脚本最困难的功能之一。无论我在探索数据时使用此功能多少次,当我尝试将其合并到更长的 JMP 脚本数据分析流程中时,我几乎总是会失败。(我怀疑我不是唯一一个因为这个问题反复向 support@jmp.com 发送 ping 的人。)
当用户运行任何可从“表格”菜单访问的平台时,创建的表格都会自动使用“源”脚本创建,该脚本可以复制并粘贴到更大的脚本中,这样只需进行微小且相对明显的调整即可使表格脚本在新上下文中工作。然而,当用户请求“制作组合数据表”时,通常不会自动将源脚本写入新创建的表格。这似乎是 JMP 功能集中一个明显而重要的空白,我希望下一个版本可以填补这个空白。
有趣的是,当用户请求“制作合并数据表”来处理报告中只出现一次的报告表时,一个名为“制作合并数据表”的脚本实际上会保存到数据表中。但对于我来说,需要进行什么样的调整才能使保存的脚本适应我非常需要合并的多个表的情况,这一点相对不太明显。
我想,如果每次请求“制作组合数据表”时,一个可运行的“源”脚本都自动保存到新创建的表中,那么我们中的很多人都会受益——尤其是当实际上有多个表需要合并时。
嗨,杰夫,
我经常将 Fit Model 与 Where 语句一起使用,如下所示:
dt = Open( "$SAMPLE_DATA/Analgesics.jmp" );<BR />
Summarize( dt, genlst = by( :gender ) );
New Window( "Fit Model example using Analgesics.jmp",
For( i = 1, i <= N Items( genlst ), i++,
fm = Fit Model(
Y( :pain ),
Effects( :drug ),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Run(
:pain << {Summary of Fit( 1 ), Analysis of Variance( 1 ), Parameter Estimates( 1 ),
Lack of Fit( 0 ), Scaled Estimates( 0 ), Plot Actual by Predicted( 0 ), Plot Regression( 0 ),
Plot Residual by Predicted( 0 ), Plot Studentized Residuals( 0 ), Plot Effect Leverage( 0 ),
Plot Residual by Normal Quantiles( 0 ), Box Cox Y Transformation( 0 ), {:drug <<
{LSMeans Tukey HSD(
0.05,
Crosstab Report( 0 ),
Connecting Letters Report( 0 ),
Ordered Differences Report( 1 )
)}}}
),
Where( Format( :gender ) == genlst[i] ),
SendToReport( Dispatch( {"Response pain"}, "Effect Details", OutlineBox, {Close( 0 )} ) );
)
)
);
rfm = fm << Report;
rfm[Outline Box( "LSMeans Differences Tukey HSD" )][4][1] << Make Combined Data Table;
我通常这样做
rfm[Outline Box( "LSMeans Differences Tukey HSD" )][4][1] << Make Combined Data Table;
通过右键单击报表上的表并选择“制作组合数据表”来手动创建组合数据表。 结果数据表遵循以下格式

Where 语句中的值不包含在此组合数据表中。 然后我创建新的列来填充缺失的信息。 幸运的是,结果的顺序与报告的顺序相同。
我不知道这是同一个问题还是可以通过高级脚本技能解决的单独问题。
德基赫
@derchieh , 你能举例说明你在找什么吗? 您的代码中如何使用 where 语句?
JMP 15 现在可以在使用制作组合数据表时正确处理按组。
在那种情况下,我很高兴地说 JMP 15 将在有按列时提供“制作组合数据表”脚本。
有趣的! 我没有弄清楚“By”变量以这种方式被视为异常...可能是因为我(几乎)*总是*在尝试“制作组合数据表”时使用 By 变量。
是的,请扩展此功能以提供对 By 变量的支持。
谢谢,杰夫!
汤姆
只要您的分析中没有 By 变量,“制作组合表”就会在结果表中创建一个“制作组合表”脚本。 By 变量使 JMP 更难了解如何构建脚本。 我假设您希望在 By variable 案例中获得支持。 你可否确认?