Comment enregistrer une colonne de valeurs d'un rapport pour une utilisation ultérieure<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour,
J'essaie de développer un script pour automatiser plusieurs tâches d'analyse de données. L'un d'eux consiste à rechercher automatiquement la distribution d'un ensemble de données, puis à exécuter une simulation avec les paramètres de cette distribution.
J'ai la plupart des éléments en place, sauf que je ne sais pas comment utiliser les paramètres que j'ai enregistrés dans la distribution dans la simulation Profiler.
Après le code de distribution, j'enregistre les paramètres comme suit:
ParamètreOne = distReport [ "Globalement YA-P20" ] [ contour de la boîte ( "?" || distNameOne )] [ "Estimations de paramètres" ] [ NumberColBox ( 1 )] ;
cela sauvegardera-t-il toutes les valeurs de la colonne entière? Je sais si j'utilise ... [ NumberColBox ( 1 )] [ 1 ] ; cela sauvera la 1ère ligne, comment sauvegardez-vous les valeurs pour un nombre inconnu de lignes?
Deuxième question: Puis-je simplement utiliser cette variable "parameterOne" dans le profileur en tant que tel ...
Eval (Parse (EvalInsert ("\ [
Profiler (
Y (colonne (3)),
Profiler (
1,
Valeur du terme (
Nom ("Overall YA-P20") (227.01),
Nom ("Overall XB-P2") (324.6375)
),
Simulateur(
1,
Les facteurs(
Nom ("Overall YA-P20") << Aléatoire (
^ distNameOne ^ ( ParamètreOne )
),
Nom ("Overall XB-P2") << Aléatoire (
^ distNameTwo ^ (paramètreTwo)
)
),
Réponses (combiné << Pas de bruit)
)
)
)
] \ ")));
J'ai essayé de le faire sans succès. Aucun code d'erreur, mais le profileur n'utilise pas les paramètres corrects.
Merci pour votre aide et votre patience avec mes compétences en jsl amateur.
Re: Comment enregistrer une colonne de valeurs d'un rapport pour une utilisation ultérieureGénial merci! Tout a fonctionné.
Comment enregistrer une colonne de valeurs d'un rapport pour une utilisation ultérieureOK, je comprends le problème. Vous pouvez utiliser le code suivant pour créer une représentation sous forme de chaîne de la liste de paramètres:
mat = colBox << Get As Matrix;
strValues = "";
Pour (i = 1, i <= NRows (mat), i ++,
strValues = strValues || Char (mat ) || ","
)
puis insérez cette variable dans la commande:
...
Facteurs (hauteur << Random (^ dist ^ (^ strValues ^))),
...
Techniquement, la variable strValues donne une virgule supplémentaire à la fin de la liste. Cela pourrait être éliminé, mais JMP pardonne les virgules redondantes et le code fonctionne correctement tel quel.
Re: Comment enregistrer une colonne de valeurs d'un rapport pour une utilisation ultérieuresalut Dave
Je comprends que tous les paramètres sont stockés dans NumColBox (1), mais la raison pour laquelle je le référence deux fois car je fais référence aux paramètres de 2 rapports de distribution différents.
Mon problème principal est que le nombre de paramètres change en fonction du type de distribution. Je pourrais donc avoir 1, 2 ou plusieurs paramètres en fonction des données (normales, Weibull, etc ...). Donc, je ne peux pas utiliser le code que vous avez fourni ci-dessus car cela suppose que j'aurai toujours 2 paramètres. Est-il possible d'utiliser les éléments de la matrice de taille inconnue?
Comment enregistrer une colonne de valeurs d'un rapport pour une utilisation ultérieureLes estimations de paramètres sont contenues dans la zone d'affichage nommée NumColBox (1). Vous devez seulement faire référence à cela une fois. Le message Get As Matrix récupère toutes les estimations de paramètres sous la forme d'une collection unique. Vous devez ensuite référencer des éléments spécifiques dans cette matrice:
Open ("$ SAMPLE_DATA / Big Class.jmp");
dist = Distribution (
Distribution continue (
Colonne (: hauteur),
Fit Distribution (Weibull)
)
)
distR = dist << report;
paramètreEstimates = distR [NumberColBox (1)];
matParameters = paramètreEstimates << Obtenir comme matrice;
paramètre1 = matParamètres [1];
paramètre2 = matParamètres [2];
show (matParameters, paramètre1, paramètre2);
Re: Comment enregistrer une colonne de valeurs d'un rapport pour une utilisation ultérieureMerci pour l'aide.
J'enregistre maintenant correctement les données sous forme de matrice, mais lorsque j'essaie de les utiliser dans l'éditeur de profil, les mauvais numéros sont toujours utilisés ...
matrixParameterOne = ParamètreOne << Obtenez comme matrice ;
matrixParameterTwo = paramètreDeux << Obtenez comme matrice ;
// Lancer la simulation
Eval ( Analyser ( EvalInsert ( "\ [
Profiler (
Y (colonne (3)),
Profiler (
1,
Valeur du terme (
Nom ("Overall YA-P20") (227.01),
Nom ("Overall XB-P2") (324.6375)
),
Simulateur(
1,
Les facteurs(
Nom ("Overall YA-P20") << Aléatoire (
^ distNameOne ^ (^ matrixParameterOne ^)
),
Nom ("Overall XB-P2") << Aléatoire (
^ distNameTwo ^ (^ matrixParameterTwo ^)
)
),
Réponses (combiné << Pas de bruit)
)
)
)
] \ " ))) ;
Des réflexions à ce sujet ??
Re: Comment enregistrer une colonne de valeurs d'un rapport pour une utilisation ultérieureEn ce qui concerne la sauvegarde des paramètres; vous pouvez créer une référence à la zone d'affichage, puis lui envoyer des messages, par exemple:
Open ("$ SAMPLE_DATA / Big Class.jmp");
dist = Distribution (
Distribution continue (colonne (: hauteur), distribution d'ajustement (normale))
)
distR = dist << report;
colBox = distR [NumberColBox (1)];
mat = colBox << Get As Matrix;
show (mat)
Pour la deuxième question, pour substituer des variables dans l’évaluation, vous utilisez la notation ^ nom ^ de la même manière que pour le nom de la distribution, par exemple
Nom ("Overall YA-P20") << Aléatoire (
^ distNameOne ^ ( ^ ParamètreOne ^ )
),
-Dave