在没有循环的矩阵上使用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];