Media della colonna da determinate righe - quindi popola la media in una nuova colonnaVorrei calcolare una media di colonna con la condizione che includa solo le righe con un certo ID. In questo caso, voglio solo fare la media dei dati per i Blanks. Vorrei che l'output popolasse una nuova colonna. Il risultato sarà simile a questo:

So come ottenere questo risultato con l'applicazione Table>Summary, ma non so come farlo nella mia tabella dati + come farla popolare. Grazie per l'aiuto!
Fusione e pulizia dei datiRe: Media delle colonne da determinate righe - quindi popola la media in una nuova colonnaSi prega di fare attenzione - Aggregazioni Col come
Col Mean(If(:Sample ID == "Blank", :Data, .))
sono molto (!!!) lenti a causa del confronto dei caratteri nell'espressione if.
Questo va bene per alcune migliaia di righe, ma per tabelle con milioni di righe ci vorrà molto tempo.
Meglio: aggiungi una colonna fittizia che mappa la colonna dei caratteri (:Sample ID) in valori numerici e usa la colonna numerica all'interno dell'espressione if -> ordini di grandezza più veloci!
Suggerimenti e trucchi: le migliori pratiche con JMP/JSL
Re: Media delle colonne da determinate righe - quindi compila la media in una nuova colonnaPuoi semplicemente aggiungere ciò che ti ho fornito come nuova colonna formula e JMP potrà facilmente crearne uno script per te.
Sembrerebbe qualcosa del genere
Names Default To Here(1);
Current Data Table() << New Column("Blank Average", Numeric, Continuous, Formula(
Col Mean(If(:Sample ID == "Blank", :Data, .))
));Re: Media delle colonne da determinate righe - quindi compila la media in una nuova colonnaGrazie per la risposta. Ho bisogno che la media della colonna calcolata venga popolata in una nuova colonna. Ecco uno script da cui ho iniziato a partire giocando con chatgpt, ma non funziona.
// Assuming your data table is already open
dt = Current Data Table();
// Calculate the mean of the "Data" column where "Sample ID" is "Blank"
meanValue = Col Mean(If(:Sample ID == "Blank", :Data, Missing()));
// Create a new column for the Blank Average
dt << New Column("Blank Average", Numeric, Continuous);
// Populate the "Blank Average" column with the calculated mean for all rows
dt << Set Values(:Blank Average, meanValue);Re: Media delle colonne da determinate righe - quindi popola la media in una nuova colonnaPuoi usare Summary e usare Join/Update per aggiungerlo alla tua tabella originale. Oppure puoi usare una formula. Una di queste formule è
Col Mean(If(:Sample ID == "Blank", :Data, .))