多列的脚本分类分析你好,
我有一个数据表(在附件中),第一列(COD CAMP)始终相同,但其他列在不同的表中可能不同(不同的数字和不同的名称)。 我想编写其他列与 COD CAMP 的分类分析脚本。 这样无论是什么数据表都可以分析(当然必须包含COD CAMP)。 我尝试了以下具有多种变体的 jsl 代码,但没有成功。 谁能帮忙? 非常感谢。
dt3 = Current Data Table();
n3 = dt3 << Get Column Names();
Show( n3 );
lstColNames_n3 = dt3 << Get Column Names();
Show( lstColNames_n3 );
Show( lstCols_n3 );
lstCols_n3 = {};
For( i = 1, i <= N Items( lstColNames_n3 ), i++,
colName = lstColNames_n3[i];
col = Column( dt3, i );
Insert Into( lstCols_n3, col );
);
Show( lstCols_n3 );
For( i = 1, i <= N Items( lstColNames_n3 ), i++,
colName = lstColNames_n3[i];
col = Column( dt3, colName );
Insert Into( n2, col );
);
dt3 << New Script(
"Categorical by COD CAMP",
Categorical( X( :COD CAMP ), Responses( Eval( n2 ) ), Legend( 0 ) )
);
脚本回复:编写多列的分类分析脚本有效! 非常感谢。 我只需要更改一行,否则分析脚本会出现在数据表中,但一旦我运行它,平台窗口就会打开(我必须填写所有字段)而不是分析报告。
我改变了这一行
theExpr = theExpr || "\[Name( "Responses,!Responses" )(:]\" || n3[i] || "),";
进入这个
theExpr = theExpr || “\[名称(“响应”)(:]\” || lstColNames_n3[i] || “),”;
回复:编写多列的分类分析脚本这是一个脚本,它使用 1 次 Categorical 平台的执行来生成您的原始请求。
Names Default To Here( 1 );
dt3 = Current Data Table();
n3 = dt3 << Get Column Names();
Remove From( n3, 1, 1 );
theExpr =
"\[
dt3<<NEW script=""></NEW>
回复:编写多列的分类分析脚本你好吉姆,
我通过放弃分类平台并使用应急平台找到了解决问题的方法。 我采用了将几个报告合并在一起的方法。 这是我的脚本。 输出与分类平台不同,但它是我需要的。
非常感谢。
dt1 << New Script(
"Analisi categorica LIKERT",
nw = New Window( "Analisi categorica LIKERT",
container = V List Box()
);
For( i = 1, i <= N Items( lstColNames_n2 ), i++,
content = V List Box(
Contingency(
Y( lstColNames_n2[i] ),
X( :COD CAMP ),
Contingency Table,
Cochran Mantel Haenszel( :COD GIUD ),
SendToReport(
Dispatch( {}, "Tests", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Cochran-Mantel-Haenszel Tests", OutlineBox, {Close( 1 )} )
)
);
container << Append( content )
;
)
);
);
回复:编写多列的分类分析脚本我完全按照您的建议来捕获脚本,到目前为止
工作正常。 在这个特定项目中,我也是从这个开始的。 然后我
开始修改响应名称所在的部分。 其实我想
制作一个无论名称和响应数量如何都有效的代码。
所以我开始使用名称和引用列表的概念
变量。 我在其他平台上成功地做到了这一点。 在这个项目中我
从 excel 文件加载变量(它可以是一个变量或 10 个和
名称可以更改)。 我想对
该 excel 文件中的变量。 对于拟合模型,文本浏览器,拟合 y
到 x 时,我能够达到我的目标。 我不是绝对的。
非常感谢。
回复:编写多列的分类分析脚本我认为最好的办法就是重新开始。
使用您的示例数据表,您能否以交互方式运行分类平台并生成您想要的结果?
如果可以,请单击红色三角形并将脚本保存到脚本窗口。这将为 JSL 提供起点,以便为您要运行分析的任何数据表复制结果。
如果你能提供那个 JSL,我可以帮你。
我以交互方式运行该平台并生成了以下结果。我不确定这是你想要的。输出下方是生成输出所需的 JSL。

Categorical(
X( :COD CAMP ),
Name( "Responses,!Responses" )(:INTENSITA' PROFUMO IN APPLICAZIONE),
Name( "Responses,!Responses" )(:QUANTITA' EROGATA),
Name( "Responses,!Responses" )(:PERSISTENZA PROFUMO DURANTE LA GIORNATA),
Name( "Responses,!Responses" )(:INTENSITA' PROFUMO A FINE GIORNATA),
Legend( 0 )
);
回复:编写多列的分类分析脚本你好吉姆,
我感谢您的帮助。 我不是 JSL 专家,我尝试从 JMP 和 JMP 社区上发布的建议中提取代码。 我知道代码中有一些重复,很抱歉没有清理它。 当我有列列表(参考列表或名称列表..取决于平台,如果我没记错的话)但不适合其他人。 当然,我必须更深入地学习 JSL 编码...... 但到目前为止,它给了我很大的满足感!!
我尝试了您编写的代码,但仅对第一个属性(INTENSITA' PROFUMO IN APPLICAZIONE)进行分析,而不是对所有属性进行分析。 我没有收到任何错误消息。
非常感谢你的时间,
回复:编写多列的分类分析脚本这是您问题的解决方案。
您提供的大部分代码多次重复相同的列名检索。我怀疑你不明白代码在做什么。下面的脚本简化了您的脚本。
Names Default To Here( 1 );
dt3 = Current Data Table();
n3 = dt3 << Get Column Names();
Remove From( n3, 1, 1 );
Eval(
Parse(
Eval Insert(
"\[
dt3<<NEW script=""></NEW>
我强烈建议您花时间阅读脚本指南。