Bonjour,
J'essaie d'écrire un script qui utilise une colonne pour sélectionner les cellules correspondantes, puis utilise ces lignes sélectionnées pour trouver la moyenne des nombres dans la colonne à côté, mais je ne sais pas trop comment procéder. Voici un exemple de tableau de ce sur quoi je travaille (le dernier nuage moyen est ce que j'ai besoin d'un script pour faire):
| Colonne correspondante : | Nombres: | Moyenne des nombres groupés |
| un | 2 | 3 |
| un | 4 | 3 |
| b | 2 | 4 |
| b | 4 | 4 |
| b | 6 | 4 |
| c | 3 | 6 |
| c | 6 | 6 |
| c | 9 | 6 |
| ré | 2 | 2 |
| ré | 2 | 2 |
Oui merci beaucoup ça marche
Vous n'avez pas besoin d'un script pour cela. La Col moyenne() La fonction dans l'éditeur de formule calculera les moyennes par une colonne de regroupement.
J'ai joint un tableau de données créé à partir de l'exemple que vous avez publié afin que vous puissiez voir à quoi il ressemble dans JMP lui-même.

Il y a plusieurs façons d'aborder cela, mais celle que je trouve la plus simple est d'utiliser
Tableaux==>Résumé
pour effectuer le récapitulatif, puis pour fusionner les données récapitulatives dans le tableau d'origine.Voici un script simple qui utilise vos données d'exemple pour le faire
Names Default To Here( 1 );
// Create an example data table
dt = New Table( "Example",
Add Rows( 10 ),
New Column( "Matching Column",
Character,
"Nominal",
Set Values( {"a", "a", "b", "b", "b", "c", "c", "c", "d", "d"} )
),
New Column( "Numbers",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [2, 4, 2, 4, 6, 3, 6, 9, 2, 2] )
)
);
// Pause so one can see the original table
wait(5);
// Summarize the data
dtSum = dt << Summary(
invisible,
Group( :Matching Column ),
Mean( :Numbers ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" ),
Link to original data table( 0 ),
output table name( "Means" )
);
// Adjust items in summary data to allow for proper merging
dtSum << delete columns( "N Rows" );
dtSum:Numbers << Set Name( "Average of grouped numbers" );
// Add the summary data to the original data table
dt << Update( With( dtSum ), Match Columns( :Matching Column = :Matching Column ) );
// Clean up the environment
Close( dtSum, nosave );