Come visualizzare il gruppo di adattamento con oggetti modello di adattamento?Ciao comunità JMP,
Sto cercando di generare un report di modello di adattamento di gruppo su un elenco di variabili di risposta, che potrebbero essere presenti o meno nei dati. Quando eseguo questa operazione nell'interfaccia utente grafica, JMP elimina automaticamente tutte le variabili di risposta non presenti. Tuttavia, devo farlo in uno script e, quando eseguo l'adattamento di gruppo per tutti i possibili modelli di adattamento, vengono visualizzate le specifiche del modello per ciascuna variabile di risposta mancante.
Ho provato quindi ad adattare i modelli per le variabili esistenti in un ciclo, aggiungerli a un elenco e quindi visualizzarli in una finestra Adatta gruppo (vedi script sotto). Tuttavia, gli oggetti Adatta modello non vengono visualizzati nella finestra Adatta gruppo, indipendentemente dal fatto che utilizzi l'opzione Invisibile o meno. Stranamente, riesco a visualizzare i profiler tra le risposte nella finestra Adatta gruppo.
Gradirei qualsiasi consiglio su cosa potrei aver tralasciato!
Grazie!,
Joff
responseVars = {"Logit[%TFRC+]", "Logit[Confluenza]", "Log[Conteggio celle]"};
fitList = {};
// Loop over the response variables to create individual fits
For( i = 1, i <= N Items( responseVars ), i++,
If( Contains(dt << Get Column Names( "String" ), responseVars[i]),
fit = Fit Model(
Y( Column( responseVars[i] ) ),
Effects( gRNA ),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Screening" ),
Run (1),
Invisible // Prevent the window from showing
);
// Add the fit object to the list
Insert Into( fitList, fit );
);
);
// Create the Fit Group using the list of fits
fitGroup = Fit Group( fitList );
Automazione e scriptingRe: Come visualizzare il gruppo di adattamento con oggetti modello di adattamento?Ciao @JoffJones ,
Ho testato questa funzionalità sui dati di esempio di Tablet Production, poiché non ho il tuo esempio di dati, ma sembra che ciò accada perché non ti riferisci a "gRNA" come colonna, dove dovrebbe essere ":gRNA" incluso il carattere ":". Vedi lo script di esempio qui sotto con i dati di Tablet che ho provato.
dt=current data table();
responseVars = {"Dissolution", "Logit[Confluency]", "Log[Cell Count]"};
fitList = {};
// Loop over the response variables to create individual fits
For( i = 1, i <= N Items( responseVars ), i++,
If( Contains(dt << Get Column Names( "String" ), responseVars[i]),
fit = Fit Model(
Y( Column( responseVars[i] ) ),
Effects( :Atomizer Pressure ), //<<<<
<THIS bit="" here="" doesnt="" work="" when="" its="" effects=""></THIS>
Re: Come visualizzare il gruppo di adattamento con oggetti modello di adattamento?Penso che tu possa avvolgere il tuo ciclo con Fit Group()
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
cols = {"NPN1", "IVP1", "PNP2"};
fg = Fit Group(
For Each({colname}, cols,
fit = dt << Fit Model(
Y(Eval(colname)),
Effects(:SITE),
Personality("Standard Least Squares"),
Emphasis("Effect Screening"),
Run (1)
);
);
);
Re: Come visualizzare il gruppo di adattamento con oggetti modello di adattamento?Grazie @jthi ! Ottima soluzione. Sai come posso aggiungere il Profiler e il Contour Profiler al Fit Group? I miei primi tentativi non hanno avuto successo.
Re: Come visualizzare il gruppo di adattamento con oggetti modello di adattamento?Questa è una soluzione un po' forzata, ma l'aggiunta di più modelli al gruppo di adattamento non è documentata ed è per questo che ho optato per questa. Crea un elenco di espressioni del modello, sostituisci l'elenco con il gruppo di adattamento e valutalo.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
cols = {"NPN1", "IVP1", "PNP2"};
fits = {};
For Each({colname}, cols,
fit_expr = EvalExpr(
dt << Fit Model(
Y(Expr(NameExpr(AsColumn(dt, colname)))),
Effects(:SITE),
Personality("Standard Least Squares"),
Emphasis("Effect Screening"),
Run(1)
);
);
Insert Into(fits, Name Expr(fit_expr));
);
fg = Eval(Substitute(fits, Expr(List), Expr(Fit Group)));
fg << Profiler(1);
fg << Contour Profiler(1);