在沒有循環的矩陣上使用Match所有,
是否可以在矩陣上使用匹配?我沒有從文檔中看到這是可能的,但有人曾嘗試過這個嗎?從本質上講,這是一個我想在沒有循環的情況下實現的例子。希望有更多文檔和博客文章用於在JSL中矢量化矩陣操作。
A = [0.1,0.2,0.3,0.4];
TestMat = [1,2,3,4,4,2,3,1,3,2,4,1];
TestMat1 = J(N Rows(TestMat),1,0);
for(i = 1, i <= N Rows(TestMat), i++,
TestMat1[i,1] = Match(TestMat[i],1,A[1],2,A[2],3,A[3],4,A[4]);
);
Show(TestMat1);
Re:在沒有循環的矩陣上使用Match @ gzmorgan0 ,
如果您查看已經指出的示例,那麼該部分中記錄的唯一內容就是邏輯索引。邏輯索引的概念是強大的,是一種實現代碼矢量化的方法。
幾乎所有其他語言/分析平台都是R,Matlab,Python等。有大量的文檔和內置函數,可以輕鬆編寫乾淨的矢量化代碼。您可能已經知道如何執行此操作,但是在邏輯索引方面提供了這個有限的示例,我認為編寫乾淨,快速的代碼以滿足所有需求特別有效。
請嘗試谷歌“JMP中的矢量化代碼”,我得到的就是這個( https://community.jmp.com/t5/JMP-Blog/JSL-Tip-Use-Matrices-Instead-of-Lists/ba-p/29773 )。請重複上面提到的任何其他語言的練習,看看有多少信息可供您使用。寫下我的請求很容易,但是如果有更多的文檔深入到幾個例子並解決一些常見問題,我認為它將很好地服務於我們的社區及其用戶。
Re:在沒有循環的矩陣上使用Match腳本指南,第7章“數據結構”章節:列表和矩陣都有示例。具體來說,Matrices小節: “下標” 和 “使用其他矩陣或列表索引到矩陣或列表” 。另外,Vince Faller對你關於矩陣上Lag函數的回應包含了幾個例子。
您應該閱讀有關列表,矩陣和關聯數組的部分。
Re:在沒有循環的矩陣上使用Match謝謝Jeff。那很有效。
當我在JMP中越來越多地搜索矢量化時,請求在矢量化操作上添加文檔(請求/建議),我意識到沒有足夠的博客/文檔可以幫助指導用戶關於該主題。
Re:在沒有循環的矩陣上使用MatchRe:在沒有循環的矩陣上使用Match使用TestMat作為A的下標並將其分配給TestMat1:
A = [0.1, 0.2, 0.3, 0.4];
TestMat = [1, 2, 3, 4, 4, 2, 3, 1, 3, 2, 4, 1];
TestMat1 = A[TestMat];
Show(TestMat1);
/*:
TestMat1 = [0.1, 0.2, 0.3, 0.4, 0.4, 0.2, 0.3, 0.1, 0.3, 0.2, 0.4, 0.1];