Comment récupérer les noms de groupe à partir d'objets par groupe ?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Chers tous,
J'essaie juste de comprendre l'accès à la liste d'objets par groupe et comment y accéder. J'ai écrit un joli petit programme qui gère un tracé à bulles par pays et comme il est en mouvement, je souhaite le sauvegarder au format SWF. Tout cela deviendra un rapport régulier, je souhaite donc automatiser le nom de fichier attribué. Comme nom de fichier, je souhaite avoir Country_date_otherparameterfromprogram.swf. La date et les autres paramètres sont simples, le problème est de connaître l'ordre des bubbleplots dans la liste créée par JMP. En tant qu'utilisateur R, je cherchais d'abord une fonction comme str() qui, dans R, renvoie un aperçu de l'objet vous indiquant les noms de chaque sous-objet de la liste ainsi que les premières valeurs du sous-objet. A défaut de trouver une telle fonction, j'ai essayé d'utiliser "afficher l'arborescence", mais en regardant le résultat, j'ai pu voir le nom du pays que je cherchais, mais je ne parviens toujours pas à y accéder.
J'ai essayé:
bubble=dt<
bulle[1][boîte de contour(1)];
et quelques autres choses comme envoyer "get name" à l'objet.
Acclamations,
Winfried
Re : Comment récupérer les noms de groupes à partir d'objets par groupe ?
Salut Jeff,
merci c'est exactement ce que je cherchais ! Il faut encore un peu de temps pour s'habituer aux structures de JMP, mais je suppose que j'y arrive...
Acclamations,
Winfried
Re : Comment récupérer les noms de groupes à partir d'objets par groupe ?Bonjour Winfried,
Vous pouvez obtenir les titres des nœuds de plan dans les rapports et les analyser pour en obtenir les valeurs par groupe. Le Obtenir le titre le message est peut-être ce que vous recherchez.
Voici un exemple.
Open( "$SAMPLE_DATA/SATByYear.jmp" );
bubbles = Bubble Plot(
X( :SAT Math ),
Y( :SAT Verbal ),
Sizes( :Name( "% Taking (2004)" ) ),
ID( :State ),
All Labels( 1 ),
by( :Region, year )
);
bygroups = {};
For( i = 1, i <= N Items( bubbles ), i++,
title = (Report( bubbles[i] )[Outline Box( 1 )]) << get title;
bygroup = Word( -1, Word( 1, title, "," ) ) || "," ||
Word( 2, title, "," );
Insert Into( bygroups, bygroup );
);
Show( bygroups );
-Jeff
Re : Comment récupérer les noms de groupes à partir d'objets par groupe ?
Salut Dave,
Merci pour votre réponse!
J'ai suivi le chemin que vous décrivez après ne pas avoir trouvé le moyen de récupérer quelque chose à partir des objets. J'avais juste eu l'espoir que l'on puisse accéder d'une manière ou d'une autre au titre (ou à un autre élément) du listelement byGroup comme par exemple dans mon exemple, le titre de bp[1] contient bien sûr le byLevel[1] comme titre. La raison pour laquelle vous posez la question est que si vous avez plus d'une variable BY, les choses pourraient rapidement devenir difficiles pour déterminer quel élément correspond à quel élément. C'est à dire. laquelle par variable va en premier, laquelle en second et dans quel ordre se trouvent réellement les niveaux.
Acclamations,
Winfried
Re : Comment récupérer les noms de groupes à partir d'objets par groupe ?Le qualificateur By Group entraîne la création de plusieurs objets, par exemple :
Ouvrir("$SAMPLE_DATA/Big Class.jmp")
bp = BubblePlot( X( :hauteur ),Y( :poids ),Par(:sexe));
show(pb);
bp = {Bubble Plot[], Bubble Plot[]} ;
Donc bp est une liste d'objets, dont chacun reçoit des données uniquement pour un niveau de la variable de regroupement. En ce qui concerne le bubbleplot, il a obtenu les données et les trace - il ne connaît pas le regroupement, c'est-à-dire que nous ne pouvons pas lui envoyer de message << Obtenir le nom du groupe.
Donc, pour obtenir le nom du groupe, nous devons obtenir les niveaux utilisés par JMP pour générer chacun des tracés.Vous pouvez utiliser la commande summary pour ce faire.Pour l'exemple ci-dessus :
résumer(byValues=by(:sex));
show(byValues);
Donc pour cet exemple nous avons 2 bubbleplots bp[1] et bp[2].
La variable de regroupement pour le premier tracé est byValues[1] et la variable de regroupement pour le deuxième est byValues[2].
Dave