Utiliser Match sur une matrice sans boucleTout,
Est-il possible d'utiliser match sur des matrices? Je ne vois pas dans la documentation que cela est possible, mais est-ce que quelqu'un l'a déjà essayé? En gros, voici un exemple de ce que j'aimerais réaliser sans boucle. J'aimerais qu'il y ait plus de documentation et de billets de blog pour la vectorisation des opérations matricielles dans 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: Utiliser Match sur une matrice sans boucle @ gzmorgan0 ,
Si vous examinez l'exemple que vous avez indiqué, la seule chose documentée dans cette section est l'indexation logique. Le concept d'indexation logique est puissant et constitue une approche de la vectorisation du code.
Avec presque toutes les autres langues / plateformes analytiques, que ce soit R, Matlab, Python, etc. Il existe une tonne de documentation et de fonctions intégrées qui facilitent l'écriture de code propre et vectorisé. Vous savez peut-être déjà comment faire cela, mais à condition que celui-ci ne soit qu'un exemple limité d'indexation logique, je ne pense pas qu'il soit particulièrement efficace d'écrire du code propre et rapide pour tous les besoins.
S'il vous plaît essayez de google "Code vectorisé dans JMP", tout ce que je reçois est la suivante ( https://community.jmp.com/t5/JMP-Blog/JSL-Tip-Use-Matrices-Instead-of-Lists/ba-p/29773 ). Veuillez répéter l’exercice pour l’une des langues que j’ai mentionnées ci-dessus et voir la richesse des informations mises à votre disposition. Il est facile d’annuler ma demande, mais je pense que cela servira bien notre communauté et ses utilisateurs s’il ya plus de documentation qui approfondit quelques exemples et aborde quelques problèmes courants.
Re: Utiliser Match sur une matrice sans boucleGuide de script, Chapitre 7 Sections "Structures de données": Les listes et les matrices contiennent des exemples. Plus précisément, les sous-sections Matrices: "Indices" et "Indexation dans une matrice ou une liste avec une autre matrice ou liste" . En outre, la réponse de Vince Faller à vous concernant les fonctions de décalage sur les matrices contient plusieurs exemples.
Vous devriez lire les sections sur les listes, les matrices et les tableaux associatifs.
Re: Utiliser Match sur une matrice sans boucleMerci Jeff. Ça a marché.
Demande d'ajouter de la documentation sur les opérations de vectorisation avec des exemples (demande / suggestion) alors que je recherche de plus en plus la vectorisation dans JMP, je me rends compte qu'il n'y a pas suffisamment de blogs / documentation pour aider les utilisateurs sur le sujet.
Re: Utiliser Match sur une matrice sans boucleRe: Utiliser Match sur une matrice sans boucleUtilisez TestMat comme indice pour A et affectez-le à 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];