Référence pour la nouvelle colonne générée par FitMode-SaveColumnSalut,
J'essaie d'obtenir le nom de la colonne résiduelle générée par le modèle d'ajustement dans JSL. De cette façon, je peux augmenter le résidu de 1000 dans la ligne suivante. Voici mon script.
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)); Maintenant, je dois utiliser la colonne # pour faire la mise à l'échelle. Si je peux obtenir le nom de colonne de la colonne résiduelle (généré avec Model << Residuals), le script pourrait être appliqué à une autre table et je n'ai pas à changer la colonne # manuellement.
Ceci est également lié à une question plus générale. Comment puis-je obtenir une référence à la colonne générée automatiquement par JMP?
Re: Référence pour la nouvelle colonne générée par FitMode-SaveColumnLes fonctions peuvent rendre ce genre de choses plus simple si on le fait plus d'une fois dans un script. Étendre @julien la réponse:
//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: Référence pour la nouvelle colonne générée par FitMode-SaveColumnSalut julien
Merci d'avoir partagé votre idée.
Oui, une autre solution consisterait simplement à utiliser le nombre total de colonnes pour désigner la dernière colonne.
Une autre idée que j'ai est la suivante: Puis-je attribuer un nom de colonne lorsqu'il est généré par la fonction Ajuster le modèle? Ce serait aussi facile de personnaliser le script.
Merci!
-Zihao
Re: Référence pour la nouvelle colonne générée par FitMode-SaveColumnsalut @Zihao ,
Je ne sais pas comment extraire une référence de colonne du message résiduel lui-même, mais comme la colonne sauvegardée sera toujours la dernière du tableau, ce que j'ai fait dans ce type de situation est de faire une référence variable à la dernière colonne en fonction du nombre de colonnes dans la table. Quelque chose comme ce qui suit:
dt = current data table();
lastColumn = column(nCols(dt));
Cela fonctionnera peut-être dans votre cas, vous n'aurez donc pas besoin de coder en dur un numéro de colonne? Ainsi, dans votre cas, un moyen simple de créer la nouvelle colonne sur la base de ce qui précède serait:
New Column("Residual (nm)", SetEachValue(lastColumn[]*1000));
J'espère que ça aide,
@julien