Berechnungsmodus für Zeichenkettendaten mit GruppierungIch habe versucht, den Modalwert von Spalte A, gruppiert nach Spalte B, mithilfe der folgenden Formel zu berechnen:Col Mode(:A,:B)Funktion. Da Spalte A jedoch Zeichenkettendaten enthält, wurde kein Wert ausgegeben. Ich stellte dann fest, dassMode(:A)Ich kann den Modus auch für Zeichenkettendaten ermitteln. Mein Problem ist nun, dass ich nicht weiß, wie ich die Gruppierung durchführen soll. Wie muss ich die Formel aufstellen?
Automatisierung und SkripterstellungBetreff: Berechnungsmodus für Zeichenkettendaten mit GruppierungBenötigen Sie eine Formel oder nur das Ergebnis?
Betreff: Berechnungsmodus für Zeichenkettendaten mit GruppierungVielen Dank für Ihre Antwort, jthi.
Ich benötige eine Formel. Ich möchte sie in eine Datentabelle eintragen.
Betreff: Berechnungsmodus für Zeichenkettendaten mit GruppierungAm einfachsten wäre es wahrscheinlich, eine neue Spalte zu erstellen, in der Sie Ihre Werte numerisch umwandeln (z. B. über „Neu kodieren“ → „Beschriftungen in Codes“) und diese für die Berechnung verwenden. Anschließend können Sie die Spalteneigenschaften kopieren, um die Spalteneigenschaften der Beschriftungswerte zu übernehmen.
Fügen Sie außerdem den Wunsch „Col Mode()“ zur Unterstützung von Zeichenspalten hinzu.
Betreff: Berechnungsmodus für Zeichenkettendaten mit GruppierungDas bedeutet also, dass ein zusätzlicher Schritt nötig ist. Verstehe. Ich möchte darum bitten, dass die Funktion `Col Mode()` auch Spalten mit Zeichenketten unterstützt. Vielen Dank.
Betreff: Berechnungsmodus für Zeichenkettendaten mit GruppierungHier können Sie einen Wunschlisteneintrag erstellen. Sie könnten beispielsweise einen Workflow oder ein Skript erstellen, um diesen zusätzlichen Schritt zu automatisieren.
Das ist höchstwahrscheinlich auch mit einer Formel möglich, ich habe aber keine Ahnung, wie effizient das wäre. Damit sollte sich der häufigste Wert von :sex im Verhältnis zu :age ermitteln lassen.
As Constant(
score_indices = Associative Array(:sex) << get keys
);
score_indices[Col Mode(Col Score(:sex), :age)]

Betreff: Berechnungsmodus für Zeichenkettendaten mit GruppierungIch werde dort eine Wunschliste veröffentlichen, danke.
Wie haben Sie die Spalte „S“ erstellt? Die Idee interessiert mich!
Betreff: Berechnungsmodus für Zeichenkettendaten mit GruppierungIch habe die Formel für S angegeben (erfordert JMP19).
Betreff: Berechnungsmodus für Zeichenkettendaten mit Gruppierung// データテーブルを取得
dt = Current Data Table();
// B列のユニークな値を取得(グループ化のため)
unique_groups = As List(dt:B<< Get As Matrix);
// 新しい列 "mother" を作成
dt << New Column("mother", Character, "Nominal");
// 各グループごとに処理を実行
For(i = 1, i <= N Items(unique_groups), i++,
// 現在のグループをフィルタリング
current_group = unique_groups[i];
Show(current_group);
subset_rows = As List(dt << Get Rows Where(:B == current_group));
Show(subset_rows);
Show(Type(subset_rows));
// A列のキーを取得
score_indices = dt:A[subset_rows] << Get As List;
Show(score_indices);
// グループ内の "mother" 列を更新
dt:mother[subset_rows] = If(
Is Missing(score_indices[Col Mode(Col Score(dt:A[subset_rows]))]),
score_indices[2],
score_indices[Col Mode(Col Score(dt:A[subset_rows]))]
);
);
Die eindeutigen Werte in Spalte B werden extrahiert und zur Verarbeitung jeder Gruppe verwendet.
Dies führt jedoch zu folgendem Fehler: „ Sie müssen ein skriptfähiges Objekt für Send eingeben. “
Falls Sie dazu Erkenntnisse haben, lassen Sie es mich bitte wissen.
Betreff: Berechnungsmodus für Zeichenkettendaten mit Gruppierung// データテーブルを取得
dt = Current Data Table();
// B列のユニークな値を取得(グループ化のため)
unique_groups = As List(dt:B<< Get As Matrix);
// 新しい列 "mother" を作成
dt << New Column("mother", Character, "Nominal");
// 各グループごとに処理を実行
For(i = 1, i <= N Items(unique_groups), i++,
// 現在のグループをフィルタリング
current_group = unique_groups[i];
Show(current_group);
subset_rows = As List(dt << Get Rows Where(:B == current_group));
Show(subset_rows);
Show(Type(subset_rows));
// A列のキーを取得
score_indices = Associative Array(Set Unique(dt:A[subset_rows])); Show(score_indices);
// グループ内の "mother" 列を更新
dt:mother[subset_rows] = If(
Is Missing(score_indices[Col Mode(Col Score(dt:A[subset_rows]))]),
score_indices[2],
score_indices[Col Mode(Col Score(dt:A[subset_rows]))]
);
);
Damit ist das Problem bis zu dem Punkt gelöst, an dem der Schlüssel für Spalte A ermittelt wurde.
Tut mir leid für die Umstände, jthi.
Betreff: Berechnungsmodus für Zeichenkettendaten mit Gruppierung// データテーブルを取得
dt = Current Data Table();
process_nm = "A";
// B列のユニークな値を取得(グループ化のため)
unique_groups = dt:B << Get values;
// 新しい列 "mother" を作成
dt << New Column("mother", Character, "Nominal");
// 各グループごとに処理を実行
For(i = 1, i <= N Items(unique_groups), i++,
// 現在のグループをフィルタリング
current_group = unique_groups[i];
subset_rows = dt << Get Rows Where(:B == current_group);
// A列のキーを取得
score_indices = Associative Array(Set Unique(Column(process_nm)[subset_rows])) << get keys;
// グループ内の "mother" 列を更新
dt:mother[subset_rows] = Mode(Column(process_nm)[subset_rows]);
);
Berechnungsmodus für Zeichenkettendaten mit Gruppierung
- Die Funktion Col Mode() unterstützt keine Zeichenketten.
・Mode() unterstützt Zeichenketten
・Mode() unterstützt keine Gruppierung
【Gegenmaßnahme】
1. Behandeln Sie Zeichenketten wie Zahlen und verwenden Sie die Spaltenmodus-Funktion (Col Mode()).
2. Filtern Sie die Zeilen im Voraus und verwenden Sie MODE().
Betreff: Berechnungsmodus für Zeichenkettendaten mit GruppierungEin Wunsch in dieser Richtung:
Zusammenfassung und Tabellierung: Aggregationsoption für Zeichenspalten hinzufügen
Sobald die Funktion implementiert ist, können Sie für diese Aufgabe die Funktion „Tabellen/Zusammenfassung“ verwenden.