Comment utiliser JSL pour convertir la formule d'étiquette de feuille de partition d'arbre de décision en un format utilisable dans la formule JMP?Formule manquante avec des données avec une valeur manquante formée par le modèle de partition, comment convertir JSL en un formulaire qui peut être utilisé dans la formule JMP.
ab>=-14&P1>=174.1&EVk<34341 or Missing&xyz<214.98 or Missing&EVk<154 or Missing&P1>=1741
dans
:ab >= -14 & :P1 >= 1741 & (:EVk < 154 | Is Missing( :EVk )) & (:xyz < 214.98 | Is Missing( :xyz ))
Merci!
ScriptingRe: Comment utiliser JSL pour convertir la formule d'étiquette de feuille de partition d'arbre de décision en une forme qui peut être utilisée dans la formule JMP?Ici, "AB", "P1" et "EVk" sont des partitions multiples. Comment ne conserver que des paramètres valides?
Et comment tourner automatiquement
"EVk <154 ou manquant"
dans
": EVk <154 | est manquant (: EVk)"?
Re: Comment utiliser JSL pour convertir la formule d'étiquette de feuille de partition d'arbre de décision en une forme qui peut être utilisée dans la formule JMP?Donc, si vous enregistrez le modèle de partition ajusté, il s'agit d'une formule de colonne.
Re: Comment utiliser JSL pour convertir la formule d'étiquette de feuille de partition d'arbre de décision en une forme qui peut être utilisée dans la formule JMP?Enregistrez simplement la formule de prédiction en tant que formule de colonne après avoir sélectionné le modèle de partition.
Re: Comment utiliser JSL pour convertir la formule d'étiquette de feuille de partition d'arbre de décision en une forme qui peut être utilisée dans la formule JMP?Merci markbailey!
Mais j'ai essayé de copier la formule d'étiquette de feuille et de la calculer comme une formule normale, ce qui est faux.
Par exemple:
dt<<NEW column="">=-14&:P1>=1741&:xyz<214.98 or Missing&:EVk<154 or Missing));dt<<RUN formulas=""></RUN></NEW>
Re: Comment utiliser JSL pour convertir la formule d'étiquette de feuille de partition d'arbre de décision en une forme qui peut être utilisée dans la formule JMP?Oui, ce code est faux. Ce code n'est pas ce qui est enregistré en tant que formule pour les étiquettes de feuille. Vous avez incorrectement copié ce que vous voulez de la formule et avez collé le mauvais code dans votre script.
Voici un exemple qui a copié la formule enregistrée pour les étiquettes de feuille textuellement et l'a collée comme argument à l'argument Formula () pour la nouvelle colonne:
Names Default To Here( 1 );
// open an example
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// create a new column for character data and populate it with formula based on a
// previously saved formula for leaf labels.
dt << New Column( "Text",
Character,
Formula(
If( !Is Missing( :height ) & :height >= 63,
If( !Is Missing( :height ) & :height >= 67,
"height>=63&height>=67",
"height>=63&height<67"
),
"height<63"
)
)
);Re: Comment utiliser JSL pour convertir la formule d'étiquette de feuille de partition d'arbre de décision en une forme qui peut être utilisée dans la formule JMP?oui. Je sais aussi que peut utiliser directement la "formule de prédiction". Mais cette formule de prédiction est si globale, si grande et si complexe qu'il est peu pratique de l'utiliser dans d'autres fichiers.
La "formule d'étiquette de feuille" est exacte, mais la formule d'étiquette de feuille produite automatiquement par le modèle "Partition" ne peut pas être utilisée directement.
J'ai donc transféré ces formules d'étiquettes de feuilles vers Excel à l'aide de VBA pour les convertir automatiquement en un formulaire pouvant être utilisé dans les formules JMP.
Mais cette opération utilisera l'ensemble du processus de fonctionnement ne peut pas être entièrement automatisé.
Merci markbailey!
Re: Comment utiliser JSL pour convertir la formule d'étiquette de feuille de partition d'arbre de décision en une forme qui peut être utilisée dans la formule JMP?Je veux donc savoir comment utiliser JSL pour convertir ces formules d'étiquette de feuille en la forme utilisable de la formule JMP () formu.Re: Comment utiliser JSL pour convertir la formule d'étiquette de feuille de partition d'arbre de décision en une forme qui peut être utilisée dans la formule JMP?Je pense que nous sommes confus parce que la colonne Leaf Label Formula a déjà une formule derrière elle. Vous n'avez pas besoin de convertir quoi que ce soit. Pouvez-vous expliquer plus clairement les étapes que vous souhaitez effectuer?

Re: Comment utiliser JSL pour convertir la formule d'étiquette de feuille de partition d'arbre de décision en une forme qui peut être utilisée dans la formule JMP?Bien sûr, le texte de la colonne de formule d'étiquette feuille ne peut pas être calculé directement de cette manière.

Re: Comment utiliser JSL pour convertir la formule d'étiquette de feuille de partition d'arbre de décision en une forme qui peut être utilisée dans la formule JMP?Merci Jeff!
Depuis que j'ai obtenu ces formules d'étiquettes de feuilles qui n'étaient pas utilisées dans le fichier d'origine.
J'ai donc simplement supprimé la formule de la colonne de formule d'étiquette de feuille, obtenu uniquement le texte et regroupé le texte des différentes formules d'étiquette de feuille dans un fichier.
Ces formules d'étiquettes de feuilles textuelles sont ensuite utilisées pour calculer d'autres données à l'aide de JSL. J'ai donc ce problème de conversion.
Re: Comment utiliser JSL pour convertir la formule d'étiquette de feuille de partition d'arbre de décision en une forme qui peut être utilisée dans la formule JMP?Êtes-vous en train de dire que quelqu'un a déjà fait une analyse et ne peut plus reproduire le modèle d'origine, et maintenant vous essayez de recréer la formule à partir de données qui ont été exportées pour exceller? Si possible, il serait beaucoup plus facile de reconstruire le même modèle dans JMP, puis d'exporter directement la colonne de formule. À l'avenir, pour tous les nouveaux modèles créés, j'exporterais toujours cette colonne feuille afin que vous n'ayez plus à y faire face. Si vous avez vraiment besoin de recréer la formule et que vous ne pouvez pas simplement le taper `` par force brute '' en vous référant à votre fichier Excel (je suppose que ce serait le plus rapide pour quelqu'un qui ne connaît pas les scripts, sauf si vous avez des centaines de termes), alors vous pouvez utiliser les formules de substitution (simples) ou regex (complexes) pour transformer votre texte brut en formule. Cela ressemble à une douleur et je pense que tout le monde dit de l'éviter si vous le pouvez.
OU, essayez-vous de créer un ensemble de colonnes pour chaque feuille possible avec des valeurs vraies / fausses indiquant si cette ligne dans chaque feuille? Dans ce cas, j'enregistrerais toujours la formule feuille, puis créerais de nouvelles colonnes avec une formule vérifiant si l'étiquette feuille correspond à une chaîne de texte.
Re: Comment utiliser JSL pour convertir la formule d'étiquette de feuille de partition d'arbre de décision en une forme qui peut être utilisée dans la formule JMP?
Oui, je n'ai toujours pas trouvé ces formules d'étiquettes de feuilles obtenues en utilisant JSL pour diviser automatiquement différents fichiers en un seul fichier et les enregistrer sous forme de formules.Si vous supprimez le facteur X, il supprime la formule.
Merci!
Re: Comment utiliser JSL pour convertir la formule d'étiquette de feuille de partition d'arbre de décision en une forme qui peut être utilisée dans la formule JMP?Maintenant je suis confus. Pouvez-vous nous dire ce que vous essayez de réaliser, y compris les colonnes que vous attendez de vos tables résultantes et les étapes que vous pensez prendre pour y arriver?
Re: Comment utiliser JSL pour convertir la formule d'étiquette de feuille de partition d'arbre de décision en une forme qui peut être utilisée dans la formule JMP?Appuyez sur le JSL suivant pour obtenir un fichier de formule d'étiquette feuille non répétitif T1.
Comment extraire le contenu spécifique de chaque formule d'étiquette feuille de T1 ligne par ligne dans la formule "Formula1" du fichier T1?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt[30 :: 35, "height"] = "";
p = Partition( Y( :weight ), X( :age, :sex, :height ), Validation Portion( 0.3 ), Informative Missing( 1 ), split Best( 2 ) );
p << save leaf label formula;
p << Close Window;
Wait( 0 );
dt << Sort( By( 6 ), Order( Descending ), replacetable( 1 ) );
dt << Select Where( :Leaf Label Formula != Lag( :Leaf Label Formula, -1 ) );
d3 = dt << Subset( Output Table( "T1" ), Selected Rows( 1 ), selected columns( 0 ) );
Wait( 0 );

Re: Comment utiliser JSL pour convertir la formule d'étiquette de feuille de partition d'arbre de décision en une forme qui peut être utilisée dans la formule JMP?Prenez simplement le texte de la colonne "Formule d'étiquette de feuille" dans le tableau "T1" et obtenez le formulaire de formule correspondant.
pas besoin d'une formule globale.
Merci!
Re: Comment utiliser JSL pour convertir la formule d'étiquette de feuille de partition d'arbre de décision en une forme qui peut être utilisée dans la formule JMP?Une de ces options pourrait-elle fonctionner? je pense ils accomplissent ce que vous recherchez:
//For each row (leaf of partition) create a new formula column
//indicating whether that row is in that leaf
for(r=1, r<= n row(d3), r++,
Eval(Eval Expr(
d3 << New Column("Is Leaf " || d3:Leaf Label Formula[r], Numeric, "Continuous", Format("Best", 12), Formula(:Leaf Label Formula == Expr(d3:Leaf Label Formula[r])));
));
);
//Or if you want it all in one column (slower if multiple columns):
for(r=1, r<= n row(d3), r++,
Eval(Eval Expr(
d3 << New Column("Alt Is Leaf " || d3:Leaf Label Formula[r], Numeric, "Continuous", Format("Best", 12), Formula(Expr(dt:Leaf Label Formula << Get Formula) == Expr(d3:Leaf Label Formula[r])));
));
);