Crea lo script della funzione "Raggruppa valori simili" nella piattaforma Recode con JSLVoglio automatizzare una funzione di ricodifica in JSL ma non riesco a trovare alcuna documentazione su come ottenerla.
Nessuna fortuna in questo forum, nella funzione di ricerca JMP o nell'indice degli script. Il registratore del flusso di lavoro e il file di registro ottengono solo il risultato finale (tabella di blocco) ed è lo stesso con la funzione di salvataggio dello script nella tabella dati.
Se possibile, trasferire alcune di queste impostazioni, ma non è importante nel primo passaggio:

Distinti saluti
Mauro
Automazione e scriptingRi: Script della funzione "Raggruppa valori simili" nella piattaforma Recode con JSLPenso che potresti dover creare il tuo raggruppamento utilizzando Scegli il più vicino(). Sembra avere la MAGGIOR PARTE delle stesse opzioni, quindi forse JMP sta usando qualcosa di simile che non sta registrando (penso che ci siano molte altre cose che neanche la ricodifica sta registrando).

Ri: Script della funzione "Raggruppa valori simili" nella piattaforma Recode con JSLHo creato un piccolo script utilizzando Choose Closest() ma ora ho riscontrato un problema che viene eseguito solo una volta all'interno di qualsiasi forma di ciclo.
Aspettare non ha aiutato e ho provato molti scenari. Finché eseguo Choose Closest() più volte in uno sguardo, restituisce la stessa stringa indipendentemente dall'input.
Fuori dal circuito funziona bene.
Ho aggiunto una configurazione di prova e creerò un ticket al supporto JMP.
Ri: Script della funzione "Raggruppa valori simili" nella piattaforma Recode con JSLSì, sembra che Choose Closest stia facendo alcune cose strane quando è all'interno di un ciclo. Ad esempio, questo non sembrava funzionare senza utilizzare Eval(EvalExpr()) poiché corrispondeva a abcabcb con abcabca se eseguito all'interno di un ciclo (se lo esegui manualmente fino all'errore, il risultato era ok).
Di seguito è riportato il mio tentativo di realizzare qualcosa del genere (penso che Group Choose Closest o qualcosa di simile sarebbe una buona idea per Wish List che farebbe ciò che sta facendo Recode)
names default to here(1);
dt = Open("$DOWNLOADS/Test_Table.jmp");
dt << new column("Ones", Numeric, Continuous, Set Each Value(1)); // summarize...
Summarize(dt, groups = By(:Column 1), counts = Sum(:Ones));
aa_matches = Associative Array(groups);
groups = groups[Rank(Ranking(counts))];
aa_matches[Reverse(groups)[1]] = Reverse(groups)[1]; // highest is group with itself
str_a = Remove From(groups, 1)[1];
While(N Items(groups) > 0,
Eval(EvalExpr(
str_b = Choose Closest(Expr(str_a), Expr(groups), Ignore Case(1), Ignore Whitespace(1), Ignore Nonprintable(1), Max Edit Count(2), Max Edit Ratio(0.25));
));
aa_matches[str_a] = str_b;
str_a = Remove From(groups, 1)[1];
);
dt << New Column("Recoded", Character, Nominal, Set Each Value(
aa_matches[:Column 1];
));