Modalità di calcolo per dati stringa con raggruppamentoHo tentato di calcolare la moda della colonna A, raggruppata per colonna B, utilizzando ilCol Mode(:A,:B)funzione. Tuttavia, poiché la colonna A contiene dati stringa, non è stato restituito alcun valore. Ho quindi scoperto cheMode(:A)Posso ottenere la modalità anche per i dati stringa. Il problema ora è che non so come eseguire il raggruppamento. Come dovrei costruire la formula?
Automazione e scriptingRe: Modalità di calcolo per dati stringa con raggruppamentoHai bisogno di una formula o solo del risultato?
Re: Modalità di calcolo per dati stringa con raggruppamentoGrazie per la risposta, jthi.
Ho bisogno di una formula. Vorrei scriverla su una tabella dati.
Re: Modalità di calcolo per dati stringa con raggruppamentoIl modo più semplice sarebbe probabilmente creare una nuova colonna in cui convertire i valori in numeri (Ricodifica -> Etichette in Codici) e utilizzarla per il calcolo. È quindi possibile utilizzare Copia Proprietà Colonna per spostarsi sulla proprietà della colonna Valori Etichetta.
Inoltre, crea un elemento della lista dei desideri Col Mode() per supportare le colonne di caratteri
Re: Modalità di calcolo per dati stringa con raggruppamentoQuindi, significa che ci vuole un passaggio in più. Capisco. Vorrei chiedere che Col Mode() supporti le colonne stringa. Grazie mille.
Re: Modalità di calcolo per dati stringa con raggruppamentoQui puoi creare un elemento della lista dei desideri. Ad esempio, potresti creare un flusso di lavoro o uno script per gestire questo passaggio aggiuntivo.
Molto probabilmente è possibile anche con una formula, ma non ho idea di quanto sarebbe efficiente. Dovrebbe ottenere la modalità :sex su :age
As Constant(
score_indices = Associative Array(:sex) << get keys
);
score_indices[Col Mode(Col Score(:sex), :age)]

Re: Modalità di calcolo per dati stringa con raggruppamentoPubblicherò lì la lista dei desideri, grazie.
Come hai creato la colonna "S"? L'idea mi interessa!
Re: Modalità di calcolo per dati stringa con raggruppamentoHo fornito la formula per S (richiede JMP19).
Re: Modalità di calcolo per dati stringa con raggruppamento// データテーブルを取得
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]))]
);
);
I valori univoci nella colonna B vengono estratti e utilizzati per elaborare ciascun gruppo.
Tuttavia, verrà visualizzato un errore: " È necessario immettere un oggetto scriptabile per Invia. "
Se avete qualche suggerimento, fatemelo sapere.
Re: Modalità di calcolo per dati stringa con raggruppamento// データテーブルを取得
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]))]
);
);
Questo ha risolto il problema fino al punto di ottenere la chiave per la colonna A.
Mi dispiace per il disturbo, jthi.
Re: Modalità di calcolo per dati stringa con raggruppamento// データテーブルを取得
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]);
);
Modalità di calcolo per dati stringa con raggruppamento
- Col Mode() non supporta le stringhe
・Mode() supporta le stringhe
・Mode() non supporta il raggruppamento
【contromisura】
1. Trattare le stringhe come numeri e utilizzare Col Mode().
2. Restringere in anticipo le righe e utilizzare Mode().
Re: Modalità di calcolo per dati stringa con raggruppamentoUn desiderio in questa direzione:
:folded_hands: Riepilogo e tabulazione: aggiungi l'opzione di aggregazione per le colonne Carattere
Una volta implementata la funzionalità, sarà possibile utilizzare la funzione Tabelle/Riepilogo per questa attività.