Ciao a tutti,
Ho bisogno di ottenere il numero di righe della sequenza raccolta di raggruppati dati ad es. una colonna di dati del modulo:
aaabbbbbccaaadddbbb ...
L'utilizzo dell'opzione Statistiche riassuntive e il raggruppamento per questa colonna comporteranno totale numero di occorrenze per ciascun valore di abcd (N righe): 6,8,2,3. quello di cui ho bisogno è il numero di righe per ciascun gruppo separatamente in sequenza :
a, b, c, a, b, d (N righe): 3,4,2,3,3,3
qualche idea?
Grazie,
- Decano
Il mio suggerimento è di creare una nuova colonna formula utilizzando la seguente formula:
If( Row() == 1, counter = 0 );
If( Lag( :yourgrouppedcolumnname ) != :yourgrouppedcolumnname,
counter++,
counter
);
counter;
Sostituendo "yourgrouppedcolumnnmae" con il nome della colonna attuale che ha le colonne ripetute.
Quindi è possibile eseguire la piattaforma di riepilogo
Tabelle ==> Sommario
sulla nuova colonna e ti darà i conteggi per ciascuno dei raggruppamenti.
Se hai bisogno di riportare i risultati nella tabella originale, puoi semplicemente utilizzare la piattaforma di aggiornamento sulla tabella dei dati originali, indicando la tabella di riepilogo e facendo corrispondere la nuova colonna che hai creato.
Di seguito è riportato uno script di esempio che utilizza la tabella di dati di esempio Big Class.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
// Create the new binning column based upon the "Sex" column
dt << New Column( "Bin",
formula(
If( Row() == 1, counter = 0 );
If( Lag( :Sex ) != :Sex,
counter++,
counter
);
counter;
)
);
// Calculate the counts of the new binning column
dtSummary = dt << Summary(
Group( :Bin ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 )
);
// Move the counts into the original data table
dt << Update( With( dtSummary ), Match Columns( :Bin = :Bin ) );
