Riferimento per nuova colonna generata da FitMode-SaveColumnCiao,
Sto cercando di ottenere il nome della colonna residua generata dal modello di adattamento in JSL. In questo modo, posso ridimensionare il residuo di 1000 nella riga seguente. Ecco la mia sceneggiatura.
Model = Fit Model(
Y( :Raw Leveling ),
Effects(
:Xa,
:Ya,
Transform Column( "Xa^2", Formula( :Xa * :Xa ) ),
Transform Column( "Ya^2", Formula( :Ya * :Ya ) ),
Transform Column( "Xa*Ya", Formula( :Xa * :Ya ) )
),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Run
);
Model << Residuals;
New Column("Residual (nm)", formula(Column(10)[]*1000)); Ora devo usare la colonna # per fare la scala. Se riesco a ottenere il nome della colonna della colonna residua (generata con il modello << Residui), lo script potrebbe essere applicato a una tabella diversa e non è necessario modificare la colonna # manualmente.
Questo è anche legato a una domanda più generale. Come posso ottenere un riferimento alla colonna generata automaticamente da JMP?
Oggetto: riferimento per la nuova colonna generata da FitMode-SaveColumnLe funzioni potrebbero rendere questo tipo di cose più semplici se lo si fa più di una volta in una sceneggiatura. Espandendosi @julian La risposta:
//Saves residuals column and returns reference to column
SaveResiduals = function({mdl},
mdl << Residuals;
dt = mdl << get data table;
column( nCols( dt ) );
);
rescol = SaveResiduals(Model);
rescol << Set Name("Residuals");Oggetto: riferimento per la nuova colonna generata da FitMode-SaveColumnCiao Julian
Grazie per aver condiviso la tua idea.
Sì, un modo alternativo sarebbe semplicemente utilizzare il numero totale di colonne per puntare all'ultima colonna.
Un'altra idea che ho è Posso assegnare un nome di colonna quando viene generato dalla funzione Fit Model? Sarebbe anche facile personalizzare lo script.
Grazie!
-Zihao
Oggetto: riferimento per la nuova colonna generata da FitMode-SaveColumnCiao @Zihao ,
Non conosco un modo per estrarre un riferimento di colonna dal messaggio residuo stesso, ma poiché la colonna salvata sarà sempre l'ultima nella tabella, quello che ho fatto in questo tipo di situazione è fare riferimento alla variabile come riferimento colonna in base al numero di colonne nella tabella. Qualcosa come il seguente:
dt = current data table();
lastColumn = column(nCols(dt));
Forse funzionerà nella tua situazione quindi non avrai bisogno di codificare un numero di colonna? Quindi, nel tuo caso, un modo semplice per rendere la nuova colonna basata su quanto sopra sarebbe:
New Column("Residual (nm)", SetEachValue(lastColumn[]*1000));
Spero che questo possa essere d'aiuto,
@julian