Ho alcuni dati sperimentali che effettuano una misurazione ogni minuto per 10 minuti.
Voglio quindi prendere una media per un sottoinsieme di punti dati nel mezzo del set.
La mia soluzione è avere una colonna nascosta (:Intervallo) con una formula che contiene i criteri (input tramite una finestra modale) e imposta ogni riga come 1 o 0 se deve essere inclusa nel calcolo.
La mia colonna di output utilizza quindi la funzione Col Mean per prendere la media dei punti di interesse.
Questa parte funziona alla grande, ma voglio anche che la prima riga vuota (non inclusa nel calcolo) prenda il valore della riga successiva, il che aiuterà con un'ulteriore manipolazione dei dati lungo la linea. Ho aggiunto la funzione Lag come di seguito.
If( :Range == 1,
Col Mean( :Measurement, :ID, :Range ),
Lag( :Measurement, -1 )
)
Il problema è che quando eseguo questo come script, la funzione Lag non funziona. Se inserisco manualmente la formula sopra funziona bene, ma lo script seguente popola solo le righe in cui :Range == 1, nonostante possa vedere che la formula è applicata correttamente alla colonna.
New Column( "Mean Measurement", Formula(
If( :Range == 1,
Col Mean( :Measurement, :ID, :Range ),
Lag( :Measurement, -1 ))))
C'è qualche motivo per questo e in qualche modo posso forzare la colonna a rivalutare la formula per funzionare correttamente?