Wie rufe ich Gruppennamen aus gruppenbezogenen Objekten ab?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Verehrte Gäste,
Ich versuche nur, mich mit dem Zugriff auf die Gruppenobjektliste und dem Zugriff darauf vertraut zu machen. Ich habe ein nettes kleines Programm geschrieben, das einen Blasenplot nach Ländern ausführt, und da es sich bewegt, möchte ich es als SWF speichern. All dies soll zu einem regulären Bericht werden, daher möchte ich die Zuweisung des Dateinamens automatisieren. Als Dateinamen möchte ich Country_date_otherparameterfromprogram.swf haben. Das Datum und die anderen Parameter sind einfach, das Problem besteht darin, die Reihenfolge der Blasendiagramme in der von JMP erstellten Liste zu kennen. Als R-Benutzer suchte ich zuerst nach einer Funktion wie str(), die in R eine Übersicht über das Objekt zurückgibt und Ihnen die Namen jedes Unterobjekts in der Liste sowie die ersten paar Werte des Unterobjekts anzeigt. Da ich eine solche Funktion nicht finden konnte, habe ich versucht, die Funktion „Baumstruktur anzeigen“ zu verwenden, aber als ich mir die Ausgabe ansah, konnte ich den gesuchten Ländernamen sehen, konnte aber immer noch nicht darauf zugreifen.
Ich habe es versucht:
bubble=dt<
bubble[1][outline box(1)];
und ein paar andere Dinge wie das Senden von „get name“ an das Objekt.
Prost,
Winfried
Betreff: Wie rufe ich Gruppennamen aus gruppenbezogenen Objekten ab?
Hallo Jeff,
Danke, das ist genau das, was ich gesucht habe! Es ist immer noch etwas gewöhnungsbedürftig, sich an die Strukturen in JMP zu gewöhnen, aber ich schätze, ich komme langsam ans Ziel ...
Prost,
Winfried
Betreff: Wie rufe ich Gruppennamen aus gruppenbezogenen Objekten ab?Hallo Winfried,
Sie können die Titel der Gliederungsknoten in den Berichten abrufen und sie analysieren, um daraus die Werte nach Gruppen zu erhalten. Der Holen Sie sich den Titel Die Nachricht könnte genau das sein, wonach Sie suchen.
Hier ist ein Beispiel.
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
Betreff: Wie rufe ich Gruppennamen aus gruppenbezogenen Objekten ab?
Hallo Dave,
Danke für deine Antwort!
Ich bin den von Ihnen beschriebenen Weg gegangen, nachdem ich nicht herausgefunden hatte, wie ich etwas aus den Objekten herausholen konnte. Ich hatte nur gehofft, dass man irgendwie auf den Titel (oder ein anderes Element) des byGroup-Listenelements zugreifen könnte, da z. B. in meinem Beispiel der Titel von bp[1] natürlich byLevel[1] als Titel enthält. Der Grund für die Frage ist, dass es schnell schwierig werden kann, herauszufinden, welches Element welches ist, wenn Sie mehr als eine BY-Variable haben. Dh. welche Variable zuerst kommt, welche zweite und in welcher Reihenfolge sind die Level eigentlich.
Prost,
Winfried
Betreff: Wie rufe ich Gruppennamen aus gruppenbezogenen Objekten ab?Der Qualifizierer „By Group“ führt dazu, dass mehrere Objekte erstellt werden, zum Beispiel:
Open("$SAMPLE_DATA/Big Class.jmp")
bp = BubblePlot( X( :height ),Y( :weight ),By(:sex));
show(bp);
bp = {Bubble Plot[], Bubble Plot[]};
bp ist also eine Liste von Objekten, von denen jedes empfängt Daten nur für eine Ebene der Gruppierungsvariablen. Was den Bubbleplot betrifft, so hat er die Daten erhalten und zeichnet sie auf. Er kennt keine Gruppierung, dh wir können keine Nachricht an ihn senden << Gruppennamen abrufen.
Um den Gruppennamen zu erhalten, müssen wir also die Ebenen ermitteln, die JMP zum Generieren der einzelnen Diagramme verwendet hat.Dazu können Sie den Befehl summary verwenden.Für das obige Beispiel:
summary(byValues=by(:sex));
show(byValues);
Für dieses Beispiel haben wir also zwei Bubbleplots bp[1] und bp[2].
Die Gruppierungsvariable für das erste Diagramm ist byValues[1] und die Gruppierungsvariable für das zweite Diagramm ist byValues[2].
Dave