Ciao,
Sto cercando di scrivere uno script che utilizzi una colonna per selezionare le celle corrispondenti e quindi utilizzare quelle righe selezionate per trovare la media dei numeri nella colonna accanto, ma non sono sicuro di come farlo. Ecco una tabella di esempio di ciò su cui sto lavorando (l'ultima cloumn media è ciò che devo fare con uno script):
| Colonna corrispondente: | Numeri: | Media dei numeri raggruppati |
| un | 2 | 3 |
| un | 4 | 3 |
| b | 2 | 4 |
| b | 4 | 4 |
| b | 6 | 4 |
| c | 3 | 6 |
| c | 6 | 6 |
| c | 9 | 6 |
| d | 2 | 2 |
| d | 2 | 2 |
Sì, grazie mille, ha funzionato
Non hai bisogno di uno script per questo. Il Col media() la funzione nell'editor di formule calcolerà i mezzi da una colonna di raggruppamento.
Ho allegato una tabella di dati creata dall'esempio che hai pubblicato in modo da poter vedere come appare nello stesso JMP.

Ci sono diversi modi per avvicinarsi a questo, ma quello che trovo il più semplice è usarlo
Tabelle==>Riepilogo
per eseguire il riepilogo, quindi unire i dati di riepilogo nella tabella originale.Ecco un semplice script che utilizza i tuoi dati di esempio per farlo
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 );