Moyenne pondérée
Dans cet exemple, je voudrais calculer la moyenne de la colonne 2 en fonction de la moyenne de chaque groupe. Le groupe 3 a deux valeurs et la moyenne du groupe 3 est (3+9)/2= 6. J'aurais donc besoin d'obtenir le par groupe moyenne de la colonne 2 : (3+3+(3+9)/2) /3 = 4.
Quand j'utilise Tabulate ou Column Mean (:Column2 ) pour obtenir les statistiques, chaque valeur individuelle de la colonne 2 a été utilisée séparément pour calculer la moyenne (3+3+3+9)/4 = 4,5.

Comment obtenir la bonne moyenne « par groupe » ?
Merci
Modélisation statistique avancéeMélange et nettoyage des donnéesRe : Moyenne pondéréeMerci à tous pour votre aide!!!
L'exemple est une version simplifiée de ce que nous avons essayé de faire avec un vaste ensemble de données contenant des milliers de points de données et des centaines de groupes. J'espérais qu'il existe une solution sans créer de table de données supplémentaire afin que nous puissions tout conserver dans la même table de données, ce qui ne semble pas être une option.
Re : Moyenne pondéréeVous voulez donc la moyenne de "Colonne 2" par "Groupe" --> utiliser des tableaux --> résumé :

Puis dans le nouveau tableau qui s'ouvre prenez une colonne moyenne :

Résultat:

Re : Moyenne pondéréePour obtenir ce que vous voulez, je calculerais les valeurs en dehors de Tabulate, puis j'utiliserais simplement Tabulate pour le formatage.

Names Default To Here( 1 );
dt = New Table( "Sample",
Add Rows( 4 ),
New Column( "Group", Numeric, "Ordinal", Format( "Best", 12 ), Set Values( [1, 2, 3, 3] ) ),
New Column( "Subgroup", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [1, 1, 1, 2] ) ),
New Column( "Column 2", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [3, 3, 3, 9] ) )
);
dtSum1 =dt << Summary(
Group( :Group ),
Mean( :Column 2 ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" ),
Link to original data table( 0 )
);
dtSum2 = dtSum1 << Summary(
Mean( :Column 2 ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" ),
Link to original data table( 0 )
);
dtSum2:Column 2 << set name( "Column 2_1" );
dtSum1 << Concatenate( dtSum2, Append to First Table(0));
dtSum1 << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table(
Grouping Columns( :Group ),
Statistics( Mean ),
Analysis Columns( :Column 2 )
),
Column Table( Analysis Columns( :Column 2_1 ), Statistics( Mean ) )
)
);
Re : Moyenne pondéréeBonjour @GroupSquareWolf ,
Si je comprends bien votre sujet, voici la solution :
- Faites un clic droit sur votre colonne "Grouper", sélectionnez "Nouvelle colonne de formule" puis "Regrouper par".
- Faites ensuite un clic droit sur votre « Colonne 2 », sélectionnez « Nouvelle colonne de formule », « Agrégat », « Moyenne ».
JMP devrait vous donner la moyenne calculée par la variable que vous avez spécifiée comme "GroupBy".
Ici en suivant ces deux étapes, la formule dans la colonne sera la même que la deuxième option de script proposée par @pauldeen .
J'espère que cela vous aidera,
Re : Moyenne pondéréeJ'ai modifié ma question pour la rendre plus claire.
Merci!
Re : Moyenne pondéréeJe ne comprends pas trop ce que tu cherches à calculer ? Vous souhaitez faire la moyenne de la colonne 2 par groupe ? Je ne comprends pas comment le sous-groupe doit jouer un rôle dans tout cela. J'essaie plusieurs choses pour voir si cela fait ce dont vous avez besoin :
1. Créez une nouvelle colonne et ajoutez cette formule :
Col Mean( :Column 2, :Group, :Subgroup )
2. si vous voulez la même idée mais n'avez pas besoin que le sous-groupe fasse partie du par :
Col Mean( :Column 2, :Group)
(même résultat à cause de la manière malheureuse dont vous choisissez votre exemple de table)
Pour correspondre à votre exemple de calcul (3+3+6) /3 = 4 vous feriez juste la colonne Sous-groupe mais cela ne correspond pas à vos mots où vous parlez de Groupe :
Col Mean( :Column 2, :Subgroup )
J'espère que ce que vous cherchez se trouve ici quelque part !
Ré: Moyenne pondéréeJ'ai une base de données de transactions où chaque transaction (ligne) correspond à une quantité différente qui est une colonne. J'ai une colonne différente pour le prix. J'essaie de faire en sorte que mon graphique JMP soit capable de calculer dynamiquement la moyenne pondérée du prix, quels que soient les filtres que j'utilise sur le graphique (tels que le pays, le produit, etc.). J'espère ne pas faire cela dans le tableau de données car cela ne serait pas dynamique avec les filtres de graphique que j'utilise. Toute aide est appréciée. Merci.