Quelle est la manière la moins verbeuse d'exprimer percentile function (à ne pas confondre avec percentile) dans Q, à l'exclusion des valeurs nulles?Q/KDB +: fonction percentile excluant les valeurs nulles
J'ai:
q)x:0N 1 2 0N 2 1 5
q)@[count[x]#0Nf;i;:;(1%count i)*1+rank x i:where not null x]
0n 0.2 0.6 0n 0.8 0.4 1
Problème avec le rank
ci-dessus est que les liens ne se terminent pas réellement avec la valeur égale probabilité/percentile.
grâce @Anton, j'ai joué dans l'intervalle, aussi bien. Votre solution diffère légèrement des exemples de Wikipedia, mais est néanmoins l'une des deux plus rapides. L'autre solution la plus rapide a une empreinte mémoire légèrement inférieure –