Me gustaría una función incorporada similar a Col Moving Average () que calcula un cuantil móvil (rodante) de una columna. Podría llamarlo Col Moving Quantile () y / o Col Moving Median ().
Escribí una función de usuario (adjunta) que funciona lo suficientemente bien para tablas pequeñas, pero utiliza un enfoque muy ineficiente. Estoy absolutamente seguro de que hay formas mucho más eficientes de implementar esta función que no implican un recálculo de la fuerza bruta en cada paso. Esos enfoques están más allá de mi capacidad de codificación.
</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>