Utilizzo della corrispondenza su una matrice senza loopTutti,
È possibile utilizzare la corrispondenza sulle matrici? Non vedo dalla documentazione che ciò sia possibile, ma qualcuno ha provato prima? In sostanza, ecco un esempio di ciò che vorrei ottenere senza loop. Vorrei che ci fosse più documentazione e post sul blog per la vettorizzazione di operazioni con matrici in 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);
Ri: Usando Match su una matrice senza loop @ gzmorgan0 ,
Se osservi l'esempio che hai indicato, l'unica cosa documentata in quella sezione è l'indicizzazione logica. Il concetto di indicizzazione logica è potente e un approccio alla vettorizzazione del codice.
Con quasi ogni altra lingua / piattaforma analitica sia R, Matlab, Python ecc. ci sono tonnellate di documentazione e funzioni integrate che semplificano la scrittura di codice pulito e vettoriale. Potresti già sapere come si fa, ma se questo è un esempio limitato di indicizzazione logica, non penso che sia particolarmente efficiente scrivere codice pulito e veloce per tutte le esigenze.
Si prega di provare e google "Codice Vectorized in JMP", tutto ciò che ottengo è questo ( https://community.jmp.com/t5/JMP-Blog/JSL-Tip-Use-Matrices-Instead-of-Lists/ba-p/29773 ). Si prega di ripetere l'esercizio per una delle altre lingue che ho menzionato sopra e vedere quanta ricchezza di informazioni è messa a vostra disposizione. È facile cancellare la mia richiesta, tuttavia penso che servirà bene la nostra comunità e i suoi utenti se c'è più documentazione che approfondisce un paio di esempi e affronta alcuni problemi comuni.
Ri: Usando Match su una matrice senza loopGuida allo scripting, Capitolo 7 Sezioni "Strutture dati": elenchi e matrici hanno esempi. Nello specifico, le sottosezioni Matrices: "Pedici" e "Indicizzazione in una matrice o lista con un'altra matrice o lista" . Inoltre, la risposta di Vince Faller a voi sulle funzioni Lag sulle matrici contiene diversi esempi.
Dovresti leggere le sezioni su liste, matrici e array associativi.
Ri: Usando Match su una matrice senza loopGrazie Jeff. Ha funzionato.
Vorrei richiedere l'aggiunta di documentazione sulle operazioni di vettorizzazione con esempi (richiesta / suggerimento) mentre cerco sempre di più per la vettorizzazione in JMP, mi rendo conto che non ci sono blog / documentazione sufficienti per guidare gli utenti sull'argomento.
Ri: Usando Match su una matrice senza loopRi: Usando Match su una matrice senza loopUsa TestMat come pedice per A e assegnalo 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];