Media pesata
In questo esempio, vorrei calcolare la media della colonna 2 in base alla media di ciascun gruppo. Il gruppo 3 ha due valori e la media del gruppo 3 è (3+9)/2= 6. Quindi avrei bisogno di ottenere il by-Group colonna 2 significa: (3+3+(3+9)/2) /3 = 4.
Quando utilizzo Tabulate o Media colonna (:Column2 ) per ottenere le statistiche, sono stati utilizzati i singoli valori di colonna2 separatamente per calcolare la media (3+3+3+9)/4 = 4,5.

Come ottenere la media corretta "per gruppo"?
Grazie
Modellazione statistica avanzataCombinazione e pulizia dei datiRe: Media ponderataGrazie a tutti per il vostro aiuto!!!
L'esempio è una versione semplificata di ciò che abbiamo provato a fare con un set di dati di grandi dimensioni contenente migliaia di punti dati e centinaia di gruppi. Speravo che esistesse una soluzione senza creare una tabella dati aggiuntiva in modo da poter mantenere ogni cosa nella stessa tabella dati, il che non sembra un'opzione.
Re: Media ponderataQuindi vuoi la media di "Colonna 2" per "Gruppo" --> usa tabelle --> riepilogo:

Quindi nella nuova tabella che si apre prendi una colonna media:

Risultato:

Re: Media ponderataPer ottenere ciò che desideri, calcolerei i valori al di fuori di Tabulate e quindi utilizzerei semplicemente Tabulate per la formattazione.

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: Media ponderataCiao @GroupSquareWolf ,
Se ho capito bene il tuo argomento, ecco la soluzione:
- Fai clic con il pulsante destro del mouse sulla colonna "Raggruppa", seleziona "Nuova colonna formula" e quindi "Raggruppa per".
- Quindi fai clic con il pulsante destro del mouse sulla "Colonna 2", seleziona "Nuova colonna formula", "Aggregato", "Media".
JMP dovrebbe darti la media calcolata dalla variabile che hai specificato come "GroupBy".
Qui seguendo questi due passaggi, la formula nella colonna sarà la stessa della seconda opzione di script proposta da @pauldeen .
Spero che questo ti aiuti,
Re: Media ponderataHo modificato la mia domanda per renderla più chiara.
Grazie!
Re: Media ponderataNon capisco davvero quale significa che stai cercando di calcolare? Vuoi prendere la media della Colonna 2 per Gruppo? Non capisco come il sottogruppo debba giocare in questo. Prova un paio di cose per vedere se fa quello che ti serve:
1. Crea una nuova colonna e aggiungi questa formula:
Col Mean( :Column 2, :Group, :Subgroup )
2. se vuoi la stessa idea ma non hai bisogno che il sottogruppo faccia parte di:
Col Mean( :Column 2, :Group)
(stesso risultato a causa del modo sfortunato in cui hai scelto la tabella di esempio)
Per corrispondere al calcolo di esempio (3+3+6) /3 = 4 faresti solo la colonna Sottogruppo ma non corrisponde alle tue parole in cui parli di Gruppo:
Col Mean( :Column 2, :Subgroup )
Spero che quello che stai cercando sia qui da qualche parte!
Re: Media ponderataHo un database di transazioni in cui ogni transazione (riga) è una quantità diversa che è una colonna. Ho una colonna diversa per il prezzo. Sto cercando di far sì che il mio grafico JMP sia in grado di calcolare dinamicamente la media ponderata del prezzo indipendentemente dai filtri che utilizzo sul grafico (come paese, prodotto, ecc.). Spero di non farlo nella tabella dati perché non sarebbe dinamico con i filtri del grafico che utilizzo. Ogni aiuto è apprezzato. Grazie.