Vorrei una funzione incorporata simile a Col Moving Average () che calcola un quantile in movimento (rotolante) di una colonna. Potresti chiamarlo Col Moving Quantile () e / o Col Moving Median ().
Ho scritto una funzione utente (allegata) che funziona abbastanza bene per i piccoli tavoli, ma utilizza un approccio molto inefficiente. So per certo che ci sono modi molto più efficienti per implementare questa funzione che non implicano il ricalcolo della forza bruta ad ogni passo rotatorio. 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>