From 8154c0c98e56c124d368963a1efd6e4a01dff1f4 Mon Sep 17 00:00:00 2001 From: Pavel Dimens Date: Mon, 20 Jul 2020 14:11:55 -0500 Subject: [PATCH 1/3] add missing-tolerant adjust method --- src/pval-adjustment.jl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/pval-adjustment.jl b/src/pval-adjustment.jl index 774605a..c3c6926 100644 --- a/src/pval-adjustment.jl +++ b/src/pval-adjustment.jl @@ -60,6 +60,13 @@ function adjust(pValues::Vector{T}, method::M) where {T <: AbstractFloat,M <: PV return adjust(PValues(pValues), method) end +function adjust(pValues::Vector{T}, method::M) where {T <: Union{Missing, AbstractFloat},M <: PValueAdjustment} + pValues_out = copy(pValues) + pValues_skipmissing = collect(skipmissing(pValues)) + pValues_out[pValues .!== missing] .= adjust(PValues(pValues_skipmissing), method) + return pValues_out +end + function adjust(pValues::Vector{T}, n::Integer, method::M) where {T <: AbstractFloat,M <: PValueAdjustment} return adjust(PValues(pValues), n, method) end From 2f4f801a3bd18e1b3d8c9640e913fef81c797086 Mon Sep 17 00:00:00 2001 From: "Pavel V. Dimens" Date: Mon, 20 Jul 2020 19:02:38 -0500 Subject: [PATCH 2/3] Update pval-adjustment.jl --- src/pval-adjustment.jl | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/pval-adjustment.jl b/src/pval-adjustment.jl index c3c6926..1f3b97c 100644 --- a/src/pval-adjustment.jl +++ b/src/pval-adjustment.jl @@ -60,11 +60,15 @@ function adjust(pValues::Vector{T}, method::M) where {T <: AbstractFloat,M <: PV return adjust(PValues(pValues), method) end -function adjust(pValues::Vector{T}, method::M) where {T <: Union{Missing, AbstractFloat},M <: PValueAdjustment} - pValues_out = copy(pValues) - pValues_skipmissing = collect(skipmissing(pValues)) - pValues_out[pValues .!== missing] .= adjust(PValues(pValues_skipmissing), method) - return pValues_out +function adjust(pValues::Vector{T}, method::M; include_missing::Bool = false) where {T <: Union{Missing, AbstractFloat},M <: PValueAdjustment} + if !include_missing + pValues_out = copy(pValues) + pValues_skipmissing = collect(skipmissing(pValues)) + pValues_out[pValues .!== missing] .= adjust(PValues(pValues_skipmissing), method) + return pValues_out + else + adjust(replace(pValues, missing => 1.0), method) + end end function adjust(pValues::Vector{T}, n::Integer, method::M) where {T <: AbstractFloat,M <: PValueAdjustment} From 2272b2f5664c043f746638070142600484f9d33b Mon Sep 17 00:00:00 2001 From: Pavel Dimens Date: Mon, 20 Jul 2020 19:06:27 -0500 Subject: [PATCH 3/3] update method --- src/pval-adjustment.jl | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/pval-adjustment.jl b/src/pval-adjustment.jl index c3c6926..1f3b97c 100644 --- a/src/pval-adjustment.jl +++ b/src/pval-adjustment.jl @@ -60,11 +60,15 @@ function adjust(pValues::Vector{T}, method::M) where {T <: AbstractFloat,M <: PV return adjust(PValues(pValues), method) end -function adjust(pValues::Vector{T}, method::M) where {T <: Union{Missing, AbstractFloat},M <: PValueAdjustment} - pValues_out = copy(pValues) - pValues_skipmissing = collect(skipmissing(pValues)) - pValues_out[pValues .!== missing] .= adjust(PValues(pValues_skipmissing), method) - return pValues_out +function adjust(pValues::Vector{T}, method::M; include_missing::Bool = false) where {T <: Union{Missing, AbstractFloat},M <: PValueAdjustment} + if !include_missing + pValues_out = copy(pValues) + pValues_skipmissing = collect(skipmissing(pValues)) + pValues_out[pValues .!== missing] .= adjust(PValues(pValues_skipmissing), method) + return pValues_out + else + adjust(replace(pValues, missing => 1.0), method) + end end function adjust(pValues::Vector{T}, n::Integer, method::M) where {T <: AbstractFloat,M <: PValueAdjustment}