Funktion zusammenfassenIch nutze die Zusammenfassungsfunktion im Laufe meiner Arbeit häufig.Oft möchte ich eine Häufigkeitsverteilung einer Variablen. Dazu verwende ich Summarize( ex=By(dt:var), exCnt = Count(dt:var)). ex enthält die Ebenen der Variablen und exCnt enthält die Häufigkeitsverteilung. Dies funktioniert gut, wenn die Variable numerisch ist, jedoch nicht, wenn die Variable eine Zeichenfolge ist. Die Lösung, die ich verwende, besteht darin, eine Dummy-Sequenz(1, N Zeilen(dt), 1) numerische Variable zu erstellen und diese Syntax auszuführen: Summarize( ex=By(dt:var), exCnt = Count(dt:dummy)).
Das funktioniert gut, aber ich habe mich gefragt, ob es eine Möglichkeit gibt, das zu erreichen, was ich brauche, ohne die zusätzliche Dummy-Spalte?
Aufrichtig,
Matt
Automatisierung und SkripterstellungDatenmischung und -bereinigungBetreff: Funktion „Zusammenfassen“.Ich würde höchstwahrscheinlich eine private Zusammenfassungstabelle verwenden, Werte abrufen und sie dann schließen.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt_summary = dt << Summary(Group(:sex), Freq("None"), Weight("None"), Link to original data table(0), private);
ex = Column(dt_summary, 1) << get values;
exCnt = Column(dt_summary, 2) << get values;
Close(dt_summary, no save);
Show(ex, exCnt);Betreff: Funktion „Zusammenfassen“.@jthi , Danke für deine schnelle Antwort. Das habe ich getan, bevor ich die Dummy-Spalte eingefügt habe. Es ist nicht ideal, aber auch nicht schlecht.
Betreff: Funktion „Zusammenfassen“.Sie können der vorhandenen Tabelle auch direkt eine Zählspalte hinzufügen. Ich denke, dass es funktionieren sollte, die eindeutigen Werte mit einem assoziativen Array zu erhalten
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
new_col = dt << New Column("Counts", Numeric, Continuous, << Set Each Value(
Col Number(:name, :name)
));
aa = Associative Array(:name << get values, :Counts << get values);
//dt << Delete Columns(new_col);
show(aa);
Abhängig von den Daten kann dies jedoch langsamer sein als nur die Verwendung der Zusammenfassungstabelle.
Sie könnten diesbezüglich auch einen Wunschlisteneintrag erstellen und eine Liste mit Statistiken bereitstellen, die für Zeichenspalten (erster, letzter, Modus, Anzahl ...?) bereitgestellt werden sollten, wenn dies nützlich wäre (und höchstwahrscheinlich auch der Fall wäre). Es gibt einen, der jetzt war archiviert , aber die Anfrage ist nicht so gut strukturiert Zusammenfassungs-/Zusammenfassungsfunktion für Zeichendaten. Konkat-Charcter-Vektor in einen Skalar (von) Sie könnten aber auch Ihre Ideen dazu kommentieren.
Als ich das Drehbuch geschrieben habe Spalten analysieren Add-In habe ich zumindest eine Zusammenfassungstabelle, eine Summarize-Funktion, eine Verteilungsplattform und Matrixoperationen verwendet, um die verschiedenen Statistiken zu berechnen, je nachdem, welche am schnellsten war (ich glaube, ich habe Query() nicht ausprobiert).
Betreff: Funktion „Zusammenfassen“.Ich habe einige Ideen hinzugefügt und einen neuen Wunsch gepostet:
Zusammenfassung und Tabellierung: Aggregationsoption für Zeichenspalten hinzufügen
Drücken wir die Daumen, dass es angenommen wird 
Mit einer solchen Option wird Tabulate äußerst nützlich!
Großer Vorteil gegenüber einer zusätzlichen Säule: Die Säule ist statisch. Man muss die Aggregationsebene definieren – und dann steht sie fest.
Eine Zeichenaggregation, die in einer Zusammenfassungstabelle oder in Tabulate lebt, ist viel dynamischer.
Je nach zusätzlicher Struktur kann es zu völlig unterschiedlichen Ergebnissen kommen.
Wenn es einen Tag pro Zeile gibt, wird er nach Tag aggregiert, wenn es sich um einen Monat handelt, wird er nach Monat aggregiert.