lib/easystats.rb in easystats-0.3.1 vs lib/easystats.rb in easystats-0.3.2

- old
+ new

@@ -1,18 +1,18 @@ class Array # take in an array of numbers and calculate the mean (average) def mean - return unless self.any? + return if self.empty? self.sum / self.count.to_f - end unless Array.method_defined? :mean + end unless method_defined? :mean - alias_method :average, :mean unless Array.method_defined? :average + alias_method :average, :mean unless method_defined? :average # take in the array of numbers and calculate the median def median - return unless self.any? + return if self.empty? data = self halfway = data.count / 2 @@ -28,15 +28,15 @@ else median = data[halfway] end median - end unless Array.method_defined? :median + end unless method_defined? :median # take in an array of numbers and return the mode def mode - return unless self.any? + return if self.empty? # Sort the array data = self.sort # create a flag to tell the user if all the numbers only appear once @@ -90,37 +90,37 @@ nil else highest_value end end - end unless Array.method_defined? :mode + end unless method_defined? :mode # take in an array of numbers and calculate the range def range - return unless self.any? + return if self.empty? data = self.sort data.last - data.first - end unless Array.method_defined? :range + end unless method_defined? :range # take in an array of numbers and calculate the standard deviation def standard_deviation - return unless self.any? + return if self.empty? return 0 if self.one? Math::sqrt(self.sum_of_deviations_squared / (self.count-1)) - end unless Array.method_defined? :standard_deviation + end unless method_defined? :standard_deviation # take in an array of numbers and calculate the sum def sum self.reduce { |total, number| total + number } - end unless Array.method_defined? :sum + end unless method_defined? :sum def variance - return unless self.any? + return if self.empty? self.sum_of_deviations_squared / self.count.to_f - end unless Array.method_defined? :variance + end unless method_defined? :variance protected # this function returns the sum of each squared difference of mean def sum_of_deviations_squared