Skip to content

Commit

Permalink
Fix 0.4 deprecations
Browse files Browse the repository at this point in the history
Also change tests for show for power divergence to show to IOBuffer
  • Loading branch information
simonster committed Jun 2, 2015
1 parent 9b98c59 commit cb23879
Show file tree
Hide file tree
Showing 7 changed files with 26 additions and 25 deletions.
1 change: 1 addition & 0 deletions REQUIRE
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
Distributions
Roots
StatsBase
Compat
4 changes: 1 addition & 3 deletions src/HypothesisTests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,7 @@

module HypothesisTests

using Distributions
using Roots
using StatsBase
using Distributions, Roots, StatsBase, Compat

export testname, pvalue, ci
abstract HypothesisTest
Expand Down
2 changes: 1 addition & 1 deletion src/b.jl
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ immutable BTest <: HypothesisTest
stderr::Float64 # standard error
end

function BTest{T<:Real, S<:Real}(X::AbstractMatrix{T}, Y::AbstractMatrix{S}; kernel::Symbol=:rbf, blocksize::Int=int(floor(sqrt(size(X,1)))))
function BTest{T<:Real, S<:Real}(X::AbstractMatrix{T}, Y::AbstractMatrix{S}; kernel::Symbol=:rbf, blocksize::Int=floor(Int, sqrt(size(X,1))))
n = size(X,1)
check_blocksize(blocksize, n)
check_same_size(X, Y)
Expand Down
12 changes: 6 additions & 6 deletions src/binomial.jl
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ immutable BinomialTest <: HypothesisTest
end

BinomialTest(x::AbstractVector{Bool}, p=0.5) =
BinomialTest(sum(x), length(x), float64(p))
BinomialTest(sum(x), length(x), p)

testname(::BinomialTest) = "Binomial test"
population_param_of_interest(x::BinomialTest) = ("Probability of success", x.p, x.x/x.n) # parameter of interest: name, value under h0, point estimate
Expand Down Expand Up @@ -124,7 +124,7 @@ immutable SignTest <: HypothesisTest
end

SignTest{T<:Real}(x::AbstractVector{T}, median::Real=0) =
SignTest(float64(median), sum(x .> median), sum(x .!= median), sort(x))
SignTest(median, sum(x .> median), sum(x .!= median), sort(x))
SignTest{T<:Real, S<:Real}(x::AbstractVector{T}, y::AbstractVector{S}) = SignTest(x - y, 0.0)

testname(::SignTest) = "Sign Test"
Expand All @@ -142,17 +142,17 @@ end
pvalue(x::SignTest; tail=:both) = pvalue(Binomial(x.n, 0.5), x.x; tail=tail)

# confidence interval by inversion
function ci(x::SignTest, alpha::Float64=0.05; tail=:both)
@compat function ci(x::SignTest, alpha::Float64=0.05; tail=:both)
check_alpha(alpha)

if tail == :left
q = quantile(Binomial(x.n, 0.5), alpha)
q = Int(quantile(Binomial(x.n, 0.5), alpha))
(x.data[q+1], x.median)
elseif tail == :right
q = quantile(Binomial(x.n, 0.5), alpha)
q = Int(quantile(Binomial(x.n, 0.5), alpha))
(x.median, x.data[end-q])
elseif tail == :both
q = quantile(Binomial(x.n, 0.5), alpha/2)
q = Int(quantile(Binomial(x.n, 0.5), alpha/2))
(x.data[q+1], x.data[end-q])
else
throw(ArgumentError("tail=$(tail) is invalid"))
Expand Down
4 changes: 2 additions & 2 deletions src/circular.jl
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,13 @@ immutable RayleighTest <: HypothesisTest
n::Int # number of observations
end
function RayleighTest{S <: Complex}(samples::Vector{S})
s = float64(abs(sum(samples./abs(samples))))
s = @compat Float64(abs(sum(samples./abs(samples))))
n = length(samples)
Rbar = s/n
RayleighTest(Rbar, n)
end
function RayleighTest{S <: Real}(samples::Vector{S})
s = float64(abs(sum(exp(im*samples))))
s = @compat Float64(abs(sum(exp(im*samples))))
n = length(samples)
Rbar = s/n
RayleighTest(Rbar, n)
Expand Down
8 changes: 5 additions & 3 deletions src/power_divergence.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
export PowerDivergenceTest, ChisqTest, MultinomialLRT

typealias Levels{T} @compat(Tuple{UnitRange{T},UnitRange{T}})

function boundproportion{T<:Real}(x::T)
max(min(x,1),0)
end
Expand Down Expand Up @@ -254,7 +256,7 @@ end
#convenience functions

#PDT
function PowerDivergenceTest{T<: Integer, U<: FloatingPoint}(x::AbstractVector{T}, y::AbstractVector{T}, levels::(Range1{T},Range1{T}); lambda::U=1.0)
function PowerDivergenceTest{T<: Integer, U<: FloatingPoint}(x::AbstractVector{T}, y::AbstractVector{T}, levels::Levels{T}; lambda::U=1.0)
d = counts(x,y,levels)
PowerDivergenceTest(d,lambda=lambda)
end
Expand All @@ -272,7 +274,7 @@ function ChisqTest{T<: Integer}(x::AbstractMatrix{T})
PowerDivergenceTest(x,lambda=1.0)
end

function ChisqTest{T<: Integer}(x::AbstractVector{T}, y::AbstractVector{T}, levels::(Range1{T},Range1{T}))
function ChisqTest{T<: Integer}(x::AbstractVector{T}, y::AbstractVector{T}, levels::Levels{T})
d = counts(x,y,levels)
PowerDivergenceTest(d,lambda=1.0)
end
Expand All @@ -290,7 +292,7 @@ function MultinomialLRT{T<: Integer}(x::AbstractMatrix{T})
PowerDivergenceTest(x,lambda=0.0)
end

function MultinomialLRT{T<: Integer}(x::AbstractVector{T}, y::AbstractVector{T}, levels::(Range1{T},Range1{T}))
function MultinomialLRT{T<: Integer}(x::AbstractVector{T}, y::AbstractVector{T}, levels::Levels{T})
d = counts(x,y,levels)
PowerDivergenceTest(d,lambda=0.0)
end
Expand Down
20 changes: 10 additions & 10 deletions test/power_divergence.jl
Original file line number Diff line number Diff line change
Expand Up @@ -29,27 +29,27 @@ c0 =
m = PowerDivergenceTest(d,lambda=0.0)
testname(m)
pvalue(m)
show(m)
show(IOBuffer(), m)

m = PowerDivergenceTest(d,lambda=-1.0)
testname(m)
pvalue(m)
show(m)
show(IOBuffer(), m)

m = PowerDivergenceTest(d,lambda=-2.0)
testname(m)
pvalue(m)
show(m)
show(IOBuffer(), m)

m = PowerDivergenceTest(d,lambda=-0.5)
testname(m)
pvalue(m)
show(m)
show(IOBuffer(), m)

m = PowerDivergenceTest(d,lambda=2/3)
testname(m)
pvalue(m)
show(m)
show(IOBuffer(), m)

m = ChisqTest(d)
m = MultinomialLRT(d)
Expand Down Expand Up @@ -101,27 +101,27 @@ c0 = [(0.04999999999999999,0.5833301356192295),(0.0,0.49999680228589616),(0.1333
m = PowerDivergenceTest(d,lambda=0.0)
testname(m)
pvalue(m)
show(m)
show(IOBuffer(), m)

m = PowerDivergenceTest(d,lambda=-1.0)
testname(m)
pvalue(m)
show(m)
show(IOBuffer(), m)

m = PowerDivergenceTest(d,lambda=-2.0)
testname(m)
pvalue(m)
show(m)
show(IOBuffer(), m)

m = PowerDivergenceTest(d,lambda=-0.5)
testname(m)
pvalue(m)
show(m)
show(IOBuffer(), m)

m = PowerDivergenceTest(d,lambda=2/3)
testname(m)
pvalue(m)
show(m)
show(IOBuffer(), m)

m = ChisqTest(d)
m = MultinomialLRT(d)
Expand Down

0 comments on commit cb23879

Please sign in to comment.