Skip to content

Commit

Permalink
Fix deprecation warnings for concatenation
Browse files Browse the repository at this point in the history
  • Loading branch information
simonster committed Mar 3, 2015
1 parent b8e14d0 commit b9ecd4a
Show file tree
Hide file tree
Showing 11 changed files with 77 additions and 77 deletions.
2 changes: 1 addition & 1 deletion src/circular.jl
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ for (fn, transform, comparison, distfn) in ((:pvalue, :abs, :>, :ccdf),

exact = n <= 8
nperms = exact ? factorial(n) : 100000
indices = [1:n]
indices = [1:n;]
for i = 1:nperms
tp = exact ? nthperm(indices, i) : shuffle!(indices)
a = 0.0
Expand Down
10 changes: 6 additions & 4 deletions src/common.jl
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,11 @@ end

## COMMON FUNCTIONS

# Tied rank from Base, modified to compute the adjustment for ties
function tiedrank_adj(v::AbstractArray)
# Tied ranking, also computing the adjustment for ties
# sum(n^3-n) where n is the number of ties for each data point
function tiedrank_adj!(ord::AbstractVector, v::AbstractArray)
n = length(v)
place = sortperm(v)
ord = Array(Float64, n)
tieadj = 0.0

i = 1
Expand All @@ -78,4 +78,6 @@ function tiedrank_adj(v::AbstractArray)
end

(ord, tieadj)
end
end

tiedrank_adj(v::AbstractArray) = tiedrank_adj!(Array(Float64, length(v)), v)
10 changes: 5 additions & 5 deletions src/kolmogorov_smirnov.jl
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ population_param_of_interest(x::KSTest) = ("Supremum of CDF differences", 0.0, x
function ksstats{T<:Real}(x::AbstractVector{T}, d::UnivariateDistribution)
n = length(x)
cdfs = cdf(d, sort(x))
δp = maximum([1:n] / n - cdfs)
δn = -minimum([0:n-1] / n - cdfs)
δp = maximum((1:n) / n - cdfs)
δn = -minimum((0:n-1) / n - cdfs)
δ = max(δn, δp)
(n, δ, δp, δn)
end
Expand Down Expand Up @@ -130,7 +130,7 @@ end

function ApproximateTwoSampleKSTest{T<:Real, S<:Real}(x::AbstractVector{T}, y::AbstractVector{S})
n_x, n_y = length(x), length(y)
if n_x+n_y > length(unique([x,y]))
if n_x+n_y > length(unique([x; y]))
warn("This test is inaccurate with ties")
end

Expand Down Expand Up @@ -161,8 +161,8 @@ end
# compute supremum of differences between empirical cdfs.
function ksstats{T<:Real, S<:Real}(x::AbstractVector{T}, y::AbstractVector{S})
n_x, n_y = length(x), length(y)
sort_idx = sortperm([x, y])
pdf_diffs = [ones(n_x)/n_x, -ones(n_y)/n_y][sort_idx]
sort_idx = sortperm([x; y])
pdf_diffs = [ones(n_x)/n_x; -ones(n_y)/n_y][sort_idx]
cdf_diffs = cumsum(pdf_diffs)
δp = maximum(cdf_diffs)
δn = -minimum(cdf_diffs)
Expand Down
2 changes: 1 addition & 1 deletion src/kruskal_wallis.jl
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ function kwstats{T<:Real}(groups::AbstractVector{T}...)
n = sum(n_i)

# get ranks and adjustment for ties
(ranks, tieadj) = tiedrank_adj([groups...])
(ranks, tieadj) = tiedrank_adj([groups...;])
C = 1-tieadj/(n^3 - n)

# compute rank sums
Expand Down
4 changes: 2 additions & 2 deletions src/mann_whitney.jl
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ function mwustats{S<:Real,T<:Real}(x::AbstractVector{S}, y::AbstractVector{T})
nx = length(x)
ny = length(y)
if nx <= ny
(ranks, tieadj) = tiedrank_adj([x, y])
(ranks, tieadj) = tiedrank_adj([x; y])
U = sum(ranks[1:nx]) - nx*(nx+1)/2
else
(ranks, tieadj) = tiedrank_adj([y, x])
(ranks, tieadj) = tiedrank_adj([y; x])
U = nx*ny - sum(ranks[1:ny]) + ny*(ny+1)/2
end
(U, ranks, tieadj, nx, ny, median(x)-median(y))
Expand Down
8 changes: 4 additions & 4 deletions src/wilcoxon.jl
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,11 @@ function signedrankstats{S<:Real}(x::AbstractVector{S})
(ranks, tieadj) = tiedrank_adj(abs(nonzero_x))
W = 0.0
for i = 1:length(nonzero_x)
if nonzero_x[i] > 0
W += ranks[i]
end
if nonzero_x[i] > 0
W += ranks[i]
end
end
(W, ranks, [nonzero_x .> 0], tieadj, length(x), median(x))
(W, ranks, nonzero_x .> 0, tieadj, length(x), median(x))
end


Expand Down
2 changes: 1 addition & 1 deletion test/binomial.jl
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ t = BinomialTest(26, 78)
@test_approx_eq [ci(t, tail=:right, method=:agresti_coull)...] [0.25225408385003706,1.0]
show(IOBuffer(), t)

t = BinomialTest([trues(6), falses(3)])
t = BinomialTest([trues(6); falses(3)])
@test_approx_eq pvalue(t) 0.5078125000000002
@test_approx_eq pvalue(t, tail=:left) 0.91015625
@test_approx_eq pvalue(t, tail=:right) 0.2539062500000001
Expand Down
50 changes: 25 additions & 25 deletions test/mann_whitney.jl
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
using HypothesisTests, Base.Test

# Basic exact test
@test abs(pvalue(ExactMannWhitneyUTest([1:10], [2.1:2:21])) - 0.0232) <= 1e-4
@test abs(pvalue(ExactMannWhitneyUTest([2.1:2:21], [1:10])) - 0.0232) <= 1e-4
@test abs(pvalue(ExactMannWhitneyUTest([1.5:10:100], [2.1:2:21])) - 0.0068) <= 1e-4
@test abs(pvalue(ExactMannWhitneyUTest([2.1:2:21], [1.5:10:100])) - 0.0068) <= 1e-4
show(IOBuffer(), ExactMannWhitneyUTest([1:10], [2.1:2:21]))
@test abs(pvalue(ExactMannWhitneyUTest(1:10, 2.1:2:21)) - 0.0232) <= 1e-4
@test abs(pvalue(ExactMannWhitneyUTest(2.1:2:21, 1:10)) - 0.0232) <= 1e-4
@test abs(pvalue(ExactMannWhitneyUTest(1.5:10:100, 2.1:2:21)) - 0.0068) <= 1e-4
@test abs(pvalue(ExactMannWhitneyUTest(2.1:2:21, 1.5:10:100)) - 0.0068) <= 1e-4
show(IOBuffer(), ExactMannWhitneyUTest(1:10, 2.1:2:21))

# Exact with ties
@test abs(pvalue(ExactMannWhitneyUTest([1:10], [1:10])) - 1) <= 1e-4
@test abs(pvalue(ExactMannWhitneyUTest([1:10], [2:11])) - 0.5096) <= 1e-4
@test abs(pvalue(ExactMannWhitneyUTest([2:11], [1:10])) - 0.5096) <= 1e-4
@test abs(pvalue(ExactMannWhitneyUTest([1:10], [1:5, ones(5)])) - 0.0057) <= 1e-4
@test abs(pvalue(ExactMannWhitneyUTest([1:5, ones(5)], [1:10])) - 0.0057) <= 1e-4
show(IOBuffer(), ExactMannWhitneyUTest([1:10], [1:10]))
@test abs(pvalue(ExactMannWhitneyUTest(1:10, 1:10)) - 1) <= 1e-4
@test abs(pvalue(ExactMannWhitneyUTest(1:10, 2:11)) - 0.5096) <= 1e-4
@test abs(pvalue(ExactMannWhitneyUTest(2:11, 1:10)) - 0.5096) <= 1e-4
@test abs(pvalue(ExactMannWhitneyUTest(1:10, [1:5; ones(5)])) - 0.0057) <= 1e-4
@test abs(pvalue(ExactMannWhitneyUTest([1:5; ones(5)], 1:10)) - 0.0057) <= 1e-4
show(IOBuffer(), ExactMannWhitneyUTest(1:10, 1:10))

# Approximate test
@test abs(pvalue(ApproximateMannWhitneyUTest([1:10], [2.1:2:21])) - 0.0257) <= 1e-4
@test abs(pvalue(ApproximateMannWhitneyUTest([2.1:2:21], [1:10])) - 0.0257) <= 1e-4
@test abs(pvalue(ApproximateMannWhitneyUTest([1.5:10:100], [2.1:2:21])) - 0.0091) <= 1e-4
@test abs(pvalue(ApproximateMannWhitneyUTest([2.1:2:21], [1.5:10:100])) - 0.0091) <= 1e-4
show(IOBuffer(), ApproximateMannWhitneyUTest([1:10], [2.1:2:21]))
@test abs(pvalue(ApproximateMannWhitneyUTest(1:10, 2.1:2:21)) - 0.0257) <= 1e-4
@test abs(pvalue(ApproximateMannWhitneyUTest(2.1:2:21, 1:10)) - 0.0257) <= 1e-4
@test abs(pvalue(ApproximateMannWhitneyUTest(1.5:10:100, 2.1:2:21)) - 0.0091) <= 1e-4
@test abs(pvalue(ApproximateMannWhitneyUTest(2.1:2:21, 1.5:10:100)) - 0.0091) <= 1e-4
show(IOBuffer(), ApproximateMannWhitneyUTest(1:10, 2.1:2:21))

# Approximate with ties
@test abs(pvalue(ApproximateMannWhitneyUTest([1:10], [1:10])) - 1) <= 1e-4
@test abs(pvalue(ApproximateMannWhitneyUTest([1:10], [2:11])) - 0.4948) <= 1e-4
@test abs(pvalue(ApproximateMannWhitneyUTest([2:11], [1:10])) - 0.4948) <= 1e-4
@test abs(pvalue(ApproximateMannWhitneyUTest([1:10], [1:5, ones(5)])) - 0.0076) <= 1e-4
@test abs(pvalue(ApproximateMannWhitneyUTest([1:5, ones(5)], [1:10])) - 0.0076) <= 1e-4
show(IOBuffer(), ApproximateMannWhitneyUTest([1:10], [1:10]))
@test abs(pvalue(ApproximateMannWhitneyUTest(1:10, 1:10)) - 1) <= 1e-4
@test abs(pvalue(ApproximateMannWhitneyUTest(1:10, 2:11)) - 0.4948) <= 1e-4
@test abs(pvalue(ApproximateMannWhitneyUTest(2:11, 1:10)) - 0.4948) <= 1e-4
@test abs(pvalue(ApproximateMannWhitneyUTest(1:10, [1:5; ones(5)])) - 0.0076) <= 1e-4
@test abs(pvalue(ApproximateMannWhitneyUTest([1:5; ones(5)], 1:10)) - 0.0076) <= 1e-4
show(IOBuffer(), ApproximateMannWhitneyUTest(1:10, 1:10))

# Tests for automatic selection
@test abs(pvalue(MannWhitneyUTest([1:10], [2.1:2:21])) - 0.0232) <= 1e-4
@test abs(pvalue(MannWhitneyUTest([1:10], [2:11])) - 0.4948) <= 1e-4
show(IOBuffer(), MannWhitneyUTest([1:10], [2.1:2:21]))
@test abs(pvalue(MannWhitneyUTest(1:10, 2.1:2:21)) - 0.0232) <= 1e-4
@test abs(pvalue(MannWhitneyUTest(1:10, 2:11)) - 0.4948) <= 1e-4
show(IOBuffer(), MannWhitneyUTest(1:10, 2.1:2:21))
2 changes: 0 additions & 2 deletions test/runtests.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
push!(LOAD_PATH, "src")

include("b.jl")
include("binomial.jl")
include("circular.jl")
Expand Down
12 changes: 6 additions & 6 deletions test/t.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@ using HypothesisTests, Base.Test
## ONE SAMPLE T-TEST

# One sample
@test pvalue(OneSampleTTest([-5:5])) == 1
@test pvalue(OneSampleTTest(-5:5)) == 1

tst = OneSampleTTest([-5:10])
tst = OneSampleTTest(-5:10)
@test abs(pvalue(tst) - 0.0530) <= 1e-4
@test abs(pvalue(tst; tail=:left) - 0.9735) <= 1e-4
@test abs(pvalue(tst; tail=:right) - 0.0265) <= 1e-4
show(IOBuffer(), tst)

tst = OneSampleTTest(mean([-5:10]), std([-5:10]), 16)
tst = OneSampleTTest(mean(-5:10), std(-5:10), 16)
@test abs(pvalue(tst) - 0.0530) <= 1e-4

@test all(abs([ci(tst)...] - [-0.0369, 5.0369]) .<= 1e-4)
@test all(abs([ci(tst, 0.1)...] - [0.4135, 4.5865]) .<= 1e-4)
@test all(abs([ci(tst)...;] - [-0.0369, 5.0369]) .<= 1e-4)
@test all(abs([ci(tst, 0.1)...;] - [0.4135, 4.5865]) .<= 1e-4)
c = ci(tst; tail=:left)
@test c[1] == -Inf
@test abs(c[2] - 4.5865) .<= 1e-4
Expand All @@ -24,7 +24,7 @@ c = ci(tst; tail=:right)
@test c[2] == Inf
show(IOBuffer(), tst)

tst = OneSampleTTest([-10:5])
tst = OneSampleTTest(-10:5)
@test abs(pvalue(tst) - 0.0530) <= 1e-4
@test abs(pvalue(tst; tail=:left) - 0.0265) <= 1e-4
@test abs(pvalue(tst; tail=:right) - 0.9735) <= 1e-4
Expand Down
52 changes: 26 additions & 26 deletions test/wilcoxon.jl
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
using HypothesisTests, Base.Test

# Basic exact test
@test abs(pvalue(ExactSignedRankTest([1:10], [2:2:20])) - 0.0020) <= 1e-4
@test abs(pvalue(ExactSignedRankTest([2:2:20], [1:10])) - 0.0020) <= 1e-4
@test abs(pvalue(ExactSignedRankTest([1:10], [2:2:16, -1, 1])) - 0.4316) <= 1e-4
@test abs(pvalue(ExactSignedRankTest([2:2:16, -1, 1], [1:10])) - 0.4316) <= 1e-4
show(IOBuffer(), ExactSignedRankTest([1:10], [2:2:20]))
@test abs(pvalue(ExactSignedRankTest(1:10, 2:2:20)) - 0.0020) <= 1e-4
@test abs(pvalue(ExactSignedRankTest(2:2:20, 1:10)) - 0.0020) <= 1e-4
@test abs(pvalue(ExactSignedRankTest(1:10, [2:2:16; -1; 1])) - 0.4316) <= 1e-4
@test abs(pvalue(ExactSignedRankTest([2:2:16; -1; 1], 1:10)) - 0.4316) <= 1e-4
show(IOBuffer(), ExactSignedRankTest(1:10, 2:2:20))

# Exact with ties
@test abs(pvalue(ExactSignedRankTest([1:10], [1:10])) - 1) <= 1e-4
@test abs(pvalue(ExactSignedRankTest([1:10], [2:11])) - 0.0020) <= 1e-4
@test abs(pvalue(ExactSignedRankTest([2:11], [1:10])) - 0.0020) <= 1e-4
@test abs(pvalue(ExactSignedRankTest([1:10], [1:5, ones(5)])) - 0.0625) <= 1e-4
@test abs(pvalue(ExactSignedRankTest([1:5, ones(5)], [1:10])) - 0.0625) <= 1e-4
show(IOBuffer(), ExactSignedRankTest([1:10], [1:10]))
@test abs(pvalue(ExactSignedRankTest([1:10;], 1:10)) - 1) <= 1e-4
@test abs(pvalue(ExactSignedRankTest([1:10;], 2:11)) - 0.0020) <= 1e-4
@test abs(pvalue(ExactSignedRankTest([2:11;], 1:10)) - 0.0020) <= 1e-4
@test abs(pvalue(ExactSignedRankTest(1:10, [1:5; ones(5)])) - 0.0625) <= 1e-4
@test abs(pvalue(ExactSignedRankTest([1:5; ones(5)], 1:10)) - 0.0625) <= 1e-4
show(IOBuffer(), ExactSignedRankTest([1:10;], 1:10))

# Approximate test
@test abs(pvalue(ApproximateSignedRankTest([1:10], [2:2:20])) - 0.005922) <= 1e-6
@test abs(pvalue(ApproximateSignedRankTest([2:2:20], [1:10])) - 0.005922) <= 1e-6
@test abs(pvalue(ApproximateSignedRankTest([1:10], [2:2:16, -1, 1])) - 0.4148) <= 1e-4
@test abs(pvalue(ApproximateSignedRankTest([2:2:16, -1, 1], [1:10])) - 0.4148) <= 1e-4
show(IOBuffer(), ApproximateSignedRankTest([1:10], [2:2:20]))
@test abs(pvalue(ApproximateSignedRankTest(1:10, 2:2:20)) - 0.005922) <= 1e-6
@test abs(pvalue(ApproximateSignedRankTest(2:2:20, 1:10)) - 0.005922) <= 1e-6
@test abs(pvalue(ApproximateSignedRankTest(1:10, [2:2:16; -1; 1])) - 0.4148) <= 1e-4
@test abs(pvalue(ApproximateSignedRankTest([2:2:16; -1; 1], 1:10)) - 0.4148) <= 1e-4
show(IOBuffer(), ApproximateSignedRankTest(1:10, 2:2:20))

# Approximate with ties
@test abs(pvalue(ApproximateSignedRankTest([1:10], [1:10])) - 1) <= 1e-4
@test abs(pvalue(ApproximateSignedRankTest([1:10], [2:11])) - 0.001904) <= 1e-6
@test abs(pvalue(ApproximateSignedRankTest([2:11], [1:10])) - 0.001904) <= 1e-6
@test abs(pvalue(ApproximateSignedRankTest([1:10], [1:5, ones(5)])) - 0.05906) <= 1e-5
@test abs(pvalue(ApproximateSignedRankTest([1:5, ones(5)], [1:10])) - 0.05906) <= 1e-5
show(IOBuffer(), ApproximateSignedRankTest([1:10], [1:10]))
@test abs(pvalue(ApproximateSignedRankTest([1:10;], 1:10)) - 1) <= 1e-4
@test abs(pvalue(ApproximateSignedRankTest([1:10;], 2:11)) - 0.001904) <= 1e-6
@test abs(pvalue(ApproximateSignedRankTest([2:11;], 1:10)) - 0.001904) <= 1e-6
@test abs(pvalue(ApproximateSignedRankTest(1:10, [1:5; ones(5)])) - 0.05906) <= 1e-5
@test abs(pvalue(ApproximateSignedRankTest([1:5; ones(5)], 1:10)) - 0.05906) <= 1e-5
show(IOBuffer(), ApproximateSignedRankTest([1:10;], 1:10))

# Tests for automatic selection
@test abs(pvalue(SignedRankTest([1:10], [2:2:20])) - 0.0020) <= 1e-4
@test abs(pvalue(SignedRankTest([1:10], [2:11])) - 0.0020) <= 1e-4
show(IOBuffer(), SignedRankTest([1:10], [2:2:20]))
# # Tests for automatic selection
@test abs(pvalue(SignedRankTest(1:10, 2:2:20)) - 0.0020) <= 1e-4
@test abs(pvalue(SignedRankTest([1:10;], 2:11)) - 0.0020) <= 1e-4
show(IOBuffer(), SignedRankTest(1:10, 2:2:20))

0 comments on commit b9ecd4a

Please sign in to comment.