Upstream montanaflynn/stats state of the touched files before e61f9a13db
This commit is contained in:
1 parent
85d956c08c
commit
bc246e8d16
2 files changed
+7
-53
No files matched your search
+7
-26
@@ -32,20 +32,10 @@ func Quartile(input Float64Data) (Quartiles, error) {
|
||||
c2 = c1 + 1
|
||||
}
|
||||
|
||||
// Empty halves make Median return ErrEmptyInput; propagate it instead of
|
||||
// returning NaN quartiles.
|
||||
Q1, err := Median(copy[:c1])
|
||||
if err != nil {
|
||||
return Quartiles{}, err
|
||||
}
|
||||
Q2, err := Median(copy)
|
||||
if err != nil {
|
||||
return Quartiles{}, err
|
||||
}
|
||||
Q3, err := Median(copy[c2:])
|
||||
if err != nil {
|
||||
return Quartiles{}, err
|
||||
}
|
||||
// Find the Medians with the cutoff points
|
||||
Q1, _ := Median(copy[:c1])
|
||||
Q2, _ := Median(copy)
|
||||
Q3, _ := Median(copy[c2:])
|
||||
|
||||
return Quartiles{Q1, Q2, Q3}, nil
|
||||
|
||||
@@ -56,10 +46,7 @@ func InterQuartileRange(input Float64Data) (float64, error) {
|
||||
if input.Len() == 0 {
|
||||
return math.NaN(), EmptyInputErr
|
||||
}
|
||||
qs, err := Quartile(input)
|
||||
if err != nil {
|
||||
return math.NaN(), err
|
||||
}
|
||||
qs, _ := Quartile(input)
|
||||
iqr := qs.Q3 - qs.Q1
|
||||
return iqr, nil
|
||||
}
|
||||
@@ -69,10 +56,7 @@ func Midhinge(input Float64Data) (float64, error) {
|
||||
if input.Len() == 0 {
|
||||
return math.NaN(), EmptyInputErr
|
||||
}
|
||||
qs, err := Quartile(input)
|
||||
if err != nil {
|
||||
return math.NaN(), err
|
||||
}
|
||||
qs, _ := Quartile(input)
|
||||
mh := (qs.Q1 + qs.Q3) / 2
|
||||
return mh, nil
|
||||
}
|
||||
@@ -84,10 +68,7 @@ func Trimean(input Float64Data) (float64, error) {
|
||||
}
|
||||
|
||||
c := sortedCopy(input)
|
||||
q, err := Quartile(c)
|
||||
if err != nil {
|
||||
return math.NaN(), err
|
||||
}
|
||||
q, _ := Quartile(c)
|
||||
|
||||
return (q.Q1 + (q.Q2 * 2) + q.Q3) / 4, nil
|
||||
}
|
||||
Reference in new issue
Block a user