Guest User

Untitled

a guest
May 21st, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. module SOQN =
  2.  
  3. open System
  4. open MathNet.Numerics.Statistics
  5.  
  6. let tmp = [| 13.0; 17.0; 23.0; 11.0; 11.0; 13.0; 31.0; 19.0; 47.0; 29.0; 29.0; 19.0; 43.0; 37.0 |]
  7. let tmpPrcntls =
  8. tmp
  9. |> Array.sort
  10. let lbls = [| "p0"; "p1"; "p2"; "p3"; "p4";"p5" |]
  11. let prcntls = [| Statistics.Percentile(tmpPrcntls,0) // 11.0
  12. Statistics.Percentile(tmpPrcntls,20) // 13.0
  13. Statistics.Percentile(tmpPrcntls,40) // 19.0
  14. Statistics.Percentile(tmpPrcntls,60) // 28.6
  15. Statistics.Percentile(tmpPrcntls,80) // 35.8
  16. Statistics.Percentile(tmpPrcntls,100) // 47.0
  17. |]
  18. let lkpTbl = Map(Array.zip prcntls lbls)
  19. let tmpRplcd:string[] =
  20. tmp
  21. |> Array.map2 (fun x y -> if x <= y then lkpTbl.[y] else "") prcntls
  22. let main =
  23. printfn ""
  24. printfn "Percentile Test"
  25. printfn ""
  26. printfn "tmpPrcntls: %A" tmpPrcntls
  27. printfn "prcntls:%A" prcntls
  28. printfn "tmpRplcd:%A" tmpRplcd
  29. 0
  30. [<EntryPoint>]
  31. main
  32. |> ignore
  33.  
  34. // Expected Result:
  35. // tmpRplcd = [| "p1"; "p2"; "p3"; "p0"; "p0"; "p1"; "p4"; "p2"; "p5"; "p4"; "p4"; "p2"; "p5"; "p5" |]
Add Comment
Please, Sign In to add comment