Guest User

Untitled

a guest
Jul 22nd, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. class Array
  2. def sum
  3. inject(nil) {|sum,x|
  4. sum ? sum+x : x
  5. }
  6. end
  7. def mean
  8. sum/size
  9. end
  10.  
  11. def stddev
  12. std = 0
  13. res = 0
  14. devs = []
  15. self.each { |x|
  16. devs.push(x - mean)
  17. }
  18. devs.each {|y|
  19. res = res + y**2
  20. }
  21. Math.sqrt(res/(size-1))
  22. end
  23.  
  24. def median
  25. self.sort!
  26. res = (0.5*(self.size+1))
  27. if res.ceil != res.floor
  28. retr = ((self[res.ceil-1]+self[res.floor-1])/2.0)
  29. else
  30. retr = self[res]
  31. end
  32. retr
  33. end
  34.  
  35. def q1
  36. self.sort!
  37. retr = 0
  38. res = (0.25*(self.size+1))
  39. if res.ceil != res.floor
  40. retr = ((self[res.ceil-1] + self[res.floor-1])/2.0)
  41. else
  42. retr = self[res]
  43. end
  44.  
  45. retr
  46. end
  47.  
  48. def q3
  49. self.sort!
  50. retr = 0
  51. res = (0.75*(self.size+1))
  52. if res.ceil != res.floor
  53. retr = ((self[res.ceil-1] + self[res.floor-1])/2.0)
  54. else
  55. retr = self[res]
  56. end
  57. retr
  58. end
  59.  
  60. def iqr
  61. q3-q1
  62. end
  63. end
Add Comment
Please, Sign In to add comment