Come si utilizza una formula per calcolare la media per le righe selezionateCiao a tutti,
Per premettere, sono fondamentalmente un nuovo utente di JMP, quindi non so come eseguire alcuno scripting.Solo formule di base, ecc. Ecco cosa devo fare e non riesco a capire come.
Vorrei prima calcolare una media della "Quantità di Cyandin" per ciascuno dello stesso "Numero di campione" (obiettivo di avere una colonna che calcoli ciò che ho inserito nella colonna "Media di tre iniezioni".
Allo stesso modo mi piacerebbe una colonna che fornisca la media di queste tre medie per ciascuna "Fase di sviluppo" di cui ho inserito l'obiettivo nella colonna denominata "Media delle fasi di sviluppo"
Non è una media mobile... Ho pensato che forse una dichiarazione condizionale in una formula avrebbe funzionato? O forse una formula che utilizza una sorta di terza colonna come la colonna "Codice ID" come identificatore per indicare quali righe calcolare la media?
Grazie!
Analisi e modellazione dei dati di basefinestreRi: Come si utilizza una formula per calcolare la media per le righe selezionateLe 2 formule di cui hai bisogno sono
If( :Sample Number != :Sample Number[Row() + 1] | Row() == N Rows( Current Data Table() ),
Col Mean( :"Amount of Cyanidin (ng/kg)"n, :Sample Number )
)
E
If( :Developmental Stage != :Developmental Stage[Row() + 1] | Row() == N Rows( Current Data Table() ),
Col Mean( :"Amount of Cyanidin (ng/kg)"n, :Developmental Stage )
)

Ri: Come si utilizza una formula per calcolare la media per le righe selezionateCiao!
Grazie per la risposta!Ho provato e funziona.solo che non ho ben capito come funziona....
Finora penso di averlo capito
Se il numero del campione non è uguale al numero del campione della riga successiva
O
il numero di riga corrente è uguale alle righe totali nella tabella dati corrente? (su questa parte sono confuso.Inoltre, quando lo inserisco, ricevo un avviso sull'utilizzo della parte "Tabella dati correnti".
POI
Calcolare la media della "Quantità di cianidina (ng/kg) quando i numeri dei campioni sono gli stessi?
Si potrebbe spiegare un po' il funzionamento della formula a questo principiante?
Domanda successiva: per la mia tabella dati completa avrò ovviamente più dati con righe che hanno un nome di cultivar diverso ma con gli stessi numeri di campione e numeri di iniezione come mostrato nel mio esempio.Funzioneranno ancora queste formule?Dovrò tenere conto del nome della cultivar per separarli?
Grazie
Ri: Come si utilizza una formula per calcolare la media per le righe selezionateLa formula per fare i calcoli in realtà è molto semplice.È tua specifica avere i risultati visualizzati solo su righe specifiche che rendono i calcoli un po' confusi.
Quando una formula viene applicata a una determinata colonna, JMP prende semplicemente la formula e la applica alla riga 1, quindi alla riga 2 e così via fino all'ultima riga della tabella.Pertanto, la formula seguente ti darà le risposte che desideri
Col Mean( :"Amount of Cyanidin (ng/kg)"n, :Sample Number )
Fondamentalmente la formula calcola la media per la colonna "Quantità di cianidina (ng/kg)" e la scrive nella riga della colonna.Poiché è specificata anche una colonna Per, "Numero campione" calcola la media per ciascun livello trovato per il "Numero campione" e quindi la scrive nella riga per la nuova colonna.

Ma il tuo requisito era visualizzare solo il valore medio sull'ultima riga per ciascuno dei "Numeri campione".Per identificare di quali righe si tratta, è necessario che ci sia qualcosa che possa essere valutato a livello di codice.In questo caso, ho scelto di verificare se il valore di "Numero campione" cambia nella riga dopo l'elaborazione della riga corrente.Quindi questo cambia la formula in
If( :Sample Number != :Sample Number[Row() + 1] ,
Col Mean( :"Amount of Cyanidin (ng/kg)"n, :Sample Number )
)
La clausola If() viene interpretata come: se il valore corrente di "Numero campione" non è uguale al valore di "Numero campione" nella riga 1 riga oltre la riga corrente (Riga() + 1), quindi eseguire il calcolo .Se questo confronto non è vero, allora non fa nulla.
Quindi funziona benissimo tranne che per l'ultima riga nella tabella dati.Quando JMP tenta di esaminare una riga 1 riga oltre l'ultima riga nella tabella dati, non ha alcuna riga con cui confrontare, quindi non può prendere una decisione.

Pertanto, la formula deve tenere conto anche di questo problema.
If( :Sample Number != :Sample Number[Row() + 1] | Row() == N Rows( Current Data Table() ),
Col Mean( :"Amount of Cyanidin (ng/kg)"n, :Sample Number )
)
Qui la clausola aggiuntiva controlla se la riga corrente, Row(), è uguale al numero di righe nella tabella di dati, N Rows( Current data Table().La seconda clausola è separata da "|" che indica che se la prima clausola "OR" la seconda clausola è vera, elabora il calcolo.
La seconda colonna della formula segue la stessa logica con la modifica della sola colonna Per in "Fase di sviluppo".
Riguardo a ciò che deve essere modificato per poterlo utilizzare sulla tabella dati completa.Non so a cosa ti riferisci quando dici " coltivare".I requisiti affinché le formule funzionino correttamente sono che i dati siano ordinati in base a "Fase di sviluppo" e "Numero di campione" e che "Quantità di cianidina (ng/kg)" sia il nome della colonna in cui sono indicate le medie calcolato su.Se una di queste colonne cambia nome, i nuovi nomi devono essere invertiti nelle formule.
Ri: Come si utilizza una formula per calcolare la media per le righe selezionateUn'altra opzione è usare If con le funzioni Col Min e Col Max, ma fai attenzione se dovessi usarlo perché potrebbe interrompersi in una qualsiasi delle future versioni di JMP a causa dell'uso di Row() con Col Max/Col Min ( Effettuare l'utilizzo delle espressioni della formula in Imposta ogni valore e l'utilizzo delle espressioni come primo argomento nelle formule statistiche Col supportate il comportamento )
ColAvg1
If(Row() == Col Max(Row(), :Sample Number),
Col Mean(:"Amount of Cyanidin (ng/kg)"n, :Sample Number)
)
ColAvg2
If(Row() == Col Max(Row(), :Developmental Stage),
Col Mean(:CoAvg1, :Developmental Stage)
)

Ri: Come si utilizza una formula per calcolare la media per le righe selezionateGrazie mille.Credo di aver capito adesso grazie alle tue spiegazioni!
Oggetto: Come posso usare una formula per calcolare la media delle righe selezionate?So che questa discussione è vecchia, ma stavo cercando la stessa cosa e ho trovato un mio vecchio script che lo fa molto facilmente. Non ricordo da dove l'ho preso originariamente, ma sono felicissimo che funzioni. L'esempio qui sotto si riferisce a un intervallo di righe.
riga_intervallo_inferiore = numero_riga1;
riga_intervallo_superiore = numero_riga2;
dtx<
rowrangefull=dtx< freq_avg = Col mean(If( Selected(),nome della colonna), . );