Referencia para la nueva columna generada por FitMode-SaveColumnHola,
Estoy tratando de obtener el nombre de la columna residual generada por el modelo de ajuste en JSL. De esa manera, puedo escalar el residuo en 1000 en la siguiente línea. Aquí está mi guión.
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)); Ahora tengo que usar la columna # para hacer la ampliación. Si puedo obtener el nombre de columna de la columna residual (generada con el Modelo << Residuos), la secuencia de comandos podría aplicarse a una tabla diferente y no tengo que cambiar el número de columna manualmente.
Esto también está relacionado con una pregunta más general. ¿Cómo puedo obtener una referencia a la columna generada automáticamente por JMP?
Re: Referencia para la nueva columna generada por FitMode-SaveColumnLas funciones pueden hacer que este tipo de cosas se sientan más sencillas si se hace esto más de una vez en un script. Ampliando en @Julian La respuesta de
//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");Re: Referencia para la nueva columna generada por FitMode-SaveColumnHola julian
gracias por compartir tu idea.
Sí, una forma alternativa sería utilizar el número total de columnas para apuntar a la última columna.
Otra idea que tengo es: ¿Puedo asignar un nombre de columna cuando es generado por la función Fit Model? Eso también sería fácil de personalizar el script.
¡Gracias!
-Zihao
Re: Referencia para la nueva columna generada por FitMode-SaveColumnHola @Zihao ,
No conozco una manera de extraer una referencia de columna del mensaje residual, pero dado que la columna guardada siempre será la última en la tabla, lo que he hecho en este tipo de situación es hacer una referencia variable al final Columna basada en el número de columnas en la tabla. Algo como lo siguiente:
dt = current data table();
lastColumn = column(nCols(dt));
¿Tal vez eso funcione en su situación, por lo que no necesitará codificar el número de una columna? Entonces, en su caso, una forma simple de hacer la nueva columna basada en lo anterior sería:
New Column("Residual (nm)", SetEachValue(lastColumn[]*1000));
Espero que esto ayude,
@Julian