JMP > JSL > Obtenir la formule > Extraire les paramètresBonjour la communauté JMP,
J'ai généré plusieurs formules de prédiction stockées dans des colonnes et je dois extraire les paramètres pour évaluer quelles variables sont communes aux formules.
Lorsque j'appelle dt:Column X << Get formula, le résultat est pas une chaîne ou une liste qui peut être utilisée avec des fonctions d'extraction de modèles standard (par exemple, Words (), Munger ()...).
Des questions:
- Est-ce que j'utilise la bonne fonction pour collecter les paramètres de formule en utilisant << Get Formula ?
- Si non, quelle serait une fonction plus appropriée ?
- Si oui, existe-t-il une astuce pour convertir la sortie de la formule << Get en chaîne, liste ou matrice ?
Merci pour votre aide.
Meilleur,
TS
Exploration et visualisation des donnéesRe: JMP > JSL > Obtenir la formule > Extraire les paramètresJe vais documenter une autre approche à ce sujet ici. (Grâce à @Byron_JMP pour le tutoriel Arg() à ce sujet)
Vous pouvez passer par une commande Arg() pour obtenir les paramètres sous forme de liste avec laquelle vous pouvez travailler assez facilement. J'ai également mis une fonction ci-dessous qui renvoie les paramètres d'une formule de colonne sous forme de tableau associatif.
// For a given column, col, in a data table, dt, you can get the formula column property with a message:
formula = dt:Col << Get Formula;
// the first argument of which is the parameters list which can be extracted using Arg()
params = Arg(formula, 1);
// from there you can index down to get the parameter / value pair
parameterName1 = Arg(params[1],1);
parameterValue1 = Arg(params[1],2);
Et la fonction qui renvoie les paramètres de la formule sous forme de tableau associatif
// This function expects a column reference
formulaParameters = Function( {colref},
{default local},
plist = Arg( colref << Get Formula, 1 );
keys = {};
values = {};
For Each( {value, index}, plist,
Insert Into( keys, Arg( value, 1 ) );
Insert Into( values, Arg( value, 2 ) );
);
parameters = Associative Array( keys, values );
);
// Usage example:
dt = Current Data Table();
columnWithParameters = dt:Col1 << Get Column Reference();
parameterAArray = formulaParameters( columnWithParameters );Re: JMP > JSL > Obtenir la formule > Extraire les paramètresSalut Txnelson,
C'était simple.
Merci.
Meilleur,
TS
Re: JMP > JSL > Obtenir la formule > Extraire les paramètresSi l'intérêt réside dans les noms de variables à l'intérieur de la formule, il peut être plus facile de travailler directement avec l'expression de la formule. Voici un exemple qui extrait les noms de symboles uniques d'une formule.
dt = open("$sample_data/Reliability/Locomotive.jmp");
ex = column(dt, 3)<<GETFORMULA></GETFORMULA>Re: JMP > JSL > Obtenir la formule > Extraire les paramètresEtant plutôt "Old School", je gère ça en récupérant la formule sous forme de chaîne de caractères
Names Default To Here( 1 );
dt = Current Data Table();
x = Char( dt:predicted height << get formula );