Utilizzo di "Make Into Matrix" in JSLCiao gente,
Vorrei estrarre una tabella da un report (Multivariato -> Multivariato) in una matrice come parte del mio script. Attualmente sto lavorando con questo:
collist = {:"X1", :"X2", :"X3", :"X4", :"X5"};
cor = Eval(Eval Expr(Multivariate(
Y( Expr(collist)),
Estimation Method( "Row-wise" ),
Matrix Format( "Square" ),
Scatterplot Matrix( 0 )
)));
r = (col <<REPORT> </REPORT>
Purtroppo non c'è documentazione (?) Sul messaggio "Crea matrice" e non riesco a capire come memorizzare la matrice risultante in una variabile senza che appaia la finestra di dialogo.
Per il momento lavorerò con "Make into Table". Ma sarebbe bello sapere come usare "Make into matrix".
Saluti,
Sebastian
Ri: Utilizzo di "Make Into Matrix" in JSLGrazie, i tuoi commenti mi hanno indicato la strada giusta.Non sembra ancora elegante come il metodo con un clic per memorizzare la matrice come variabile globale, ma il mio script funziona ed è quello che conta!
Ri: Utilizzo di "Make Into Matrix" in JSLPuoi vedere tutti i messaggi disponibili per una Number Col Box() andando a
Aiuto==>Indice di scripting==>Numero Col Box
vedrai che A
obj << ottenere
Ritirerà il vettore di dati da un Number Col Box().Oppure potresti voler guardare un livello superiore all'oggetto Table Box(), di cui Number Col Box() è un elemento, e vedere quali messaggi sono disponibili per esso.
Ri: Utilizzo di "Make Into Matrix" in JSLHo provato ad applicare questa tecnica alla piattaforma Bivariate Fit per recuperare le stime dei parametri.Tuttavia i valori non sono in MatrixBox(1), ma piuttosto, Essi Sono In NumberColBox ( 13 ) e ottengo un errore nel tentativo di recuperarli.Posso memorizzare manualmente l'intero set come variabile globale e recuperare i valori dalla matrice risultante, ma non ho trovato alcun modo per farlo tramite jsl.
Ri: Utilizzo di "Make Into Matrix" in JSLÈ positivo che ci siano soluzioni alternative.
Ma, come sottolinea Sebastian, "Make Into Matrix" non appare nello Scripting Index come messaggio che si può inviare a un "MatrixBox ()" (e il tooltip dell'editor fornisce "unknown message for object"). Eppure appare come una scelta di contesto nell'interfaccia utente e si può inviare il messaggio tramite JSL (entrambi danno il dialogo modale che menziona).
Usando il metodo di Mark (o JIm), si potrebbe replicare la funzionalità del dialogo nello scripting, ma è ancora un po' strano.
Ri: Utilizzo di "Make Into Matrix" in JSLGrazie mille, Marco. Era proprio quello che stavo cercando.
Ri: Utilizzo di "Make Into Matrix" in JSLdt = Open( "$SAMPLE_DATA/Fitness.jmp" );
multi var = dt << Multivariate(
Y( :Age, :Weight, :Oxy, :Runtime, :RunPulse, :RstPulse, :MaxPulse ),
Estimation Method( "Row-wise" ),
Matrix Format( "Square" ),
Scatterplot Matrix(
Density Ellipses( 1 ),
Shaded Ellipses( 0 ),
Ellipse Color( 3 )
)
);
multi var rep = multi var << Report;
corr = multi var rep["Correlations"][MatrixBox(1)] << Get;
Ri: Utilizzo di "Make Into Matrix" in JSLQuesto codice ignorerà la finestra di dialogo. Utilizza gli standard ei componenti JSL documentati
names default to here(1);
dt=open("$SAMPLE_DATA\semiconductor capability.jmp");
collist = {:"NPN1", :"PNP1", :"NPN2", :"PNP2", :"NPN3"};
cor = Eval(Eval Expr(Multivariate(//invisible,
Y( Expr(collist)),
Estimation Method( "Row-wise" ),
Matrix Format( "Square" ),
Scatterplot Matrix( 0 )
)));
r = ((cor <<REPORT></REPORT>