多列的腳本分類分析你好,
我有一個數據表(在附件中),第一列(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>
我強烈建議您花時間閱讀腳本指南。