Vorrei una funzione integrata simile a Col Moving Average () che calcola un quantile mobile (rolling) di una colonna. Potresti chiamarlo Col Moving Quantile() e/o Col Moving Median().
Ho scritto una funzione utente (in allegato) che funziona abbastanza bene per i tavoli piccoli, ma utilizza un approccio molto inefficiente. So per certo che ci sono modi molto più efficienti per implementare questa funzione che non comportano il ricalcolo della forza bruta ad ogni passaggio del rotolamento. Questi approcci vanno oltre la mia capacità di codifica.
</CODE></P><PRE><CODE class=" language-jsl">Add Custom Functions(
New Custom Function(
"x",
"Col Moving Quantile",
Function( {col, p, before, after, dt = Current Data Table()},
{coldata = Column( dt, col ) << Get As Matrix, from = Max( Row() - before, 1 ), to, to = Min( Row() + after, N Rows( dt ) )},
Quantile( p, coldata[Index( from, to )] )
)
)
// === Documentation ===
<<FORMULA category=""> )" ) //
<<PARAMETER></PARAMETER></FORMULA>