Output della piattaforma in variabili JSL<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao a tutti
Puoi estrarre fattori/dati/selezioni dall'output di una piattaforma in JSL?
Al momento ho 2 script che vorrei riunire. Il primo importa un file Excel e crea uno script di distribuzione con "Fit Distribution (All)" in modo che l'utente possa selezionare il miglior tipo di adattamento e ottenere i parametri. Posso fare in modo che JSL legga ciò che l'utente ha selezionato e i parametri? Sto pensando che dovrò creare una nuova finestra tramite JSL con le distribuzioni e gli adattamenti (rispetto a adesso invio uno script alla tabella dati creata aprendo il file Excel e quindi eseguirlo) e quindi avere un pulsante "procedi" sotto di esso. Non so cosa fare questo pulsante per ottenere quale casella è selezionata e i parametri corrispondenti, oppure noto che nessuna casella è selezionata, quindi posso eseguire un campionamento casuale o un campionamento discreto tramite una matrice rispetto a una funzione di adattamento continuo.
Sto eseguendo un Monte Carlo e ho bisogno di ciascuno dei tipi di adattamento e dei parametri per eseguire la funzione casuale per ciascuno.
Grazie.
Ri: Output della piattaforma in variabili JSLGrazie @ian_jmp . Quella struttura ad albero mi aiuta a capire con cosa sto suonando. Mi sono perso nella funzione XPath, ma quel collegamento mi ha portato a "Ottieni XML", che è stato anch'esso utile.Il problema che ho riscontrato è che l'ordine di 0/1 che proviene da '...[checkboxbox(1)]<Ri: Output della piattaforma in variabili JSL
Per quanto riguarda la domanda "Esiste un modo per vedere...", una volta aperta la finestra del report, fare clic con il pulsante destro del mouse su un nodo del contorno e selezionare "Modifica > Mostra struttura ad albero". Potrebbe interessarti anche rivedere le discussioni su "XPath", come ad esempio Questo .
Ri: Output della piattaforma in variabili JSLCIAO @Jeff_Perkinson . Questo codice è tornato in vita e sto cercando di risolvere di nuovo lo stesso problema.@SM ha funzionato in JMP 11 ma non riesco a farlo funzionare in JMP 13 poiché la convenzione di denominazione sembra essere cambiata (come avvisato). Non solo l'ordine è cambiato, ma non sembra essere lo stesso tra le distribuzioni, né nell'ordine in cui sono elencate nella GUI (per AICc) o un ordine arbitrario come @SM trovato prima (per quanto ne so, vedi l'esempio sotto).
Esiste un modo per vedere tutti i componenti di un report in modo da poter esplorare quali dati sono presenti e vedere se riesco a individuare ciò di cui ho bisogno? Come facevi a sapere che "[tablebox(1)]" o "rdist[Outline Box( "Confronta distribuzioni" )][1][1]" erano sintassi valide? Grazie ragazzi. Mi scuso per non averlo mai contrassegnato come risposta.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dist1 = dt << Distribution( Continuous Distribution( Column( :height ), Fit Distribution( All ) ) );
dist2 = dt << Distribution( Continuous Distribution( Column( :weight ), Fit Distribution( All ) ) );
r1 = Report( dist1 );
r2 = Report( dist2 );
m1 = [];
For( i = 1, i <= 11, i++,
m1 = m1 || (r1[Outline Box( "Compare Distributions" )][1][1] << get( i ))
);
m2 = [];
For( i = 1, i <= 11, i++,
m2 = m2 || (r2[Outline Box( "Compare Distributions" )][1][1] << get( i ))
);
show(m1);
show(m2);
i valori predefiniti sono Weibull per m1 e LogNoraml per m2
m1 = [0 0 0 0 0 0 1 0 0 0 0];
m2 = [0 0 0 0 1 0 0 0 0 0 0];
m1 = [];
For( i = 1, i <= 11, i++,
m1 = m1 || (r1[Outline Box( "Compare Distributions" )][1][1] << get( i ))
);
m2 = [];
For( i = 1, i <= 11, i++,
m2 = m2 || (r2[Outline Box( "Compare Distributions" )][1][1] << get( i ))
);
show(m1);
show(m2);
passare alla seconda opzione su ciascuno, ExtremeValue per m1 e Gamma per m2
m1 = [0 0 0 0 0 0 0 1 0 0 0];
m2 = [0 0 0 0 0 0 0 1 0 0 0];
Ri: Output della piattaforma in variabili JSLSembra che esista un ordine interno di distribuzione che viene mantenuto qualunque sia l'esito dell'ordinamento automatico. Se l'ordine è stabile può essere codificato come nell'esempio seguente. Tuttavia, tieni presente che il numero di distribuzioni, nonché l'ordine (e l'ortografia?) potrebbero cambiare nelle versioni future di JMP.
Questo codice funziona per me in JMP 11. Le distribuzioni selezionate e le stime dei parametri vengono memorizzate in un array associativo rispettivamente come chiavi e valori, ma ci sono ovviamente altre opzioni (ad esempio tabelle di dati).
dt = Aprire ( "$SAMPLE_DATA/Classe grande.jmp" ) ;
dist = Distribuzione ( Distribuzione continua ( Colonna ( : peso ) , Distribuzione adatta ( Tutto ) ) , Solo istogrammi ) ;
// Elenco dei nomi delle distribuzioni nel loro ordine "vero".
l = { "Normale" , "LogNormale" , "Weibull a 2 parametri" , "Esponenziale" , "Gamma" , "Johnson Su" , "Johnson SL" , "Logaritmo generalizzato" , "Valore estremo" ,
"Miscela normale 2" , "Miscela normale 3" } ;
rdist = Rapporto ( dist ) ;
// Aggiungi pulsante con script. Fare clic dopo la selezione manuale.
rdist << anteporre (
Casella dei pulsanti ( "Fai clic al termine" ,
// Trova la posizione reale degli elementi selezionati (non ciò che mostra la tabella ordinata automaticamente)
M = [] ;
Per ( io = 1 , io <= 11 , io ++,
M = M || ( rdist [ Casella di contorno ( "Confronta distribuzioni" )][ 1 ][ 1 ] << Ottenere ( io ))
) ;
seldista = Se ( Riga N ( Loc ( M ) ) > 1 ,
l [ Loc ( M )] ,
Elenco di valutazione ( { l [ Loc ( M )]} )
) ; // Distribuzioni selezionate
aa = Matrice associativa () ; // Per memorizzare le stime dei parametri
// Inserisci valori
Per ( io = 1 , io <= Riga N ( Loc ( M ) ) , io ++,
aa << inserire elemento ( seldista [ io ] , Matrice ( rdist [ Casella di contorno ( "Abbigliato" || seldista [ io ] )][ Casella numerica ( "Stima" )] << Ottenere ) )
) ;
Spettacolo ( Seldista ) ;
Spettacolo ( aa ) ;
)
) ;
Ri: Output della piattaforma in variabili JSLCiao Claus,
Sto ancora lavorando per capire come ottenere quale casella di controllo è selezionata.
Tuttavia, se conti che JMP scelga la soluzione migliore, poiché ordiniamo questa tabella in ordine crescente AICc sarà sempre la prima e qualcosa del genere funzionerà:
dt=open("$SAMPLE_DATA/Big Class.jmp");
dist= dt << Distribution(
Continuous Distribution( Column( :height ), Fit Distribution( All ) )
);
r=report(dist);
disttype=r[outline box("Compare Distributions")][tablebox(1)][StringColBox(1)]<< get (1) ;
paramMatrix=r[outline box("?"||disttype)][outlinebox(1)][tablebox(1)][numberColBox(1)] << get as matrix;
paramList=r[outline box("?"||disttype)][outlinebox(1)][tablebox(1)][numberColBox(1)] << get;
show(disttype, paramMatrix, ParamList);
-Jeff
Ri: Output della piattaforma in variabili JSLTitolo modificato per vedere se posso ricevere aiuto. I dati devono essere lì, ma non sono riuscito a ottenerli. Ho provato a giocare con la funzione "Mostra proprietà" durante la creazione della finestra di visualizzazione, ma non riesco a capire come recuperare ciò che è selezionato e i valori dei parametri. Se stessi creando il mio elenco di caselle di controllo e la mia tabella, potrei ottenerli, ma non con JMP che lo fa... Crearlo da solo non è un'opzione poiché ho bisogno della piattaforma per svolgere il lavoro.
Oggetto: JSL: ottenere input per JSL dagli output della piattaforma di distribuzione per Monte CarloColpo.
Voglio riportare i dati in rosso sotto in JSL. So come fare in modo che JSL crei quanto segue, ma non per ottenere le funzioni di adattamento selezionate dall'utente e quindi i parametri per quella funzione nuovamente in JSL, per ciascuna distribuzione. Grazie.
