Mode de calcul pour les données de type chaîne avec regroupementJ'ai tenté de calculer le mode de la colonne A, groupé par la colonne B, en utilisant laCol Mode(:A,:B)fonction. Cependant, comme la colonne A contient des données de type chaîne de caractères, aucune valeur n'a été affichée. J'ai alors découvert queMode(:A)Je peux obtenir le mode même pour des données de type chaîne de caractères. Mon problème est que je ne sais pas comment effectuer le regroupement. Comment dois-je formuler la formule ?
Automatisation et scriptageRe: Mode de calcul pour les données de type chaîne avec regroupementAvez-vous besoin d'une formule ou simplement du résultat ?
Re: Mode de calcul pour les données de type chaîne avec regroupementMerci pour votre réponse, jthi.
J'ai besoin d'une formule. Je voudrais l'écrire dans un tableau de données.
Re: Mode de calcul pour les données de type chaîne avec regroupementLe plus simple serait probablement de créer une nouvelle colonne dans laquelle vous convertissez vos valeurs en valeurs numériques (l'option « Recoder » → « Étiquettes en codes » permet de le faire) et d'utiliser cette colonne pour le calcul. Vous pouvez ensuite utiliser « Copier les propriétés de la colonne » pour copier la propriété de la colonne « Valeurs des étiquettes ».
De plus, ajoutez la fonction Col Mode() à votre liste de souhaits pour la prise en charge des colonnes de caractères.
Re: Mode de calcul pour les données de type chaîne avec regroupementCela signifie donc qu'il faut une étape supplémentaire. Je comprends. Je souhaiterais que la fonction Col Mode() prenne en charge les colonnes de type chaîne de caractères. Merci beaucoup.
Re: Mode de calcul pour les données de type chaîne avec regroupementVous pouvez créer un élément de liste de souhaits ici . Vous pouvez par exemple créer un flux de travail ou un script pour automatiser cette étape supplémentaire.
Il est fort probablement possible d'utiliser une formule, mais son efficacité reste incertaine. Cela devrait permettre de déterminer le mode de :sex par rapport à :age.
As Constant(
score_indices = Associative Array(:sex) << get keys
);
score_indices[Col Mode(Col Score(:sex), :age)]

Re: Mode de calcul pour les données de type chaîne avec regroupementJe publierai une liste de souhaits là-bas, merci.
Comment avez-vous créé la colonne « S » ? L’idée m’intéresse !
Re: Mode de calcul pour les données de type chaîne avec regroupementJ'ai fourni la formule pour S (nécessite JMP19).
Re: Mode de calcul pour les données de type chaîne avec regroupement// データテーブルを取得
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]))]
);
);
Les valeurs uniques de la colonne B sont extraites et utilisées pour traiter chaque groupe.
Cependant, cela générera une erreur : « Vous devez fournir un objet scriptable pour Send. »
Si vous avez des informations à ce sujet, merci de me les communiquer.
Re: Mode de calcul pour les données de type chaîne avec regroupement// データテーブルを取得
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]))]
);
);
Cela a permis de résoudre le problème jusqu'à l'obtention de la clé de la colonne A.
Désolé pour le dérangement, jthi.
Re: Mode de calcul pour les données de type chaîne avec regroupement// データテーブルを取得
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]);
);
Mode de calcul pour les données de type chaîne avec regroupement
- Col Mode() ne prend pas en charge les chaînes de caractères.
・Mode() prend en charge les chaînes de caractères
・Mode() ne prend pas en charge le regroupement
【contre-mesure】
1. Traitez les chaînes de caractères comme des nombres et utilisez le mode Col().
2. Réduisez le nombre de lignes à l'avance et utilisez Mode().
Re: Mode de calcul pour les données de type chaîne avec regroupementUn souhait dans ce sens :
:folded_hands: Résumé et tabulation : ajout d'une option d'agrégation pour les colonnes de type Caractère
Une fois cette fonctionnalité implémentée, vous pourrez utiliser la fonction Tables/Résumé pour cette tâche.