You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I just stumbled upon some inconsistencies between mean and mean! and I am wondering whether this is a bug – since we try to use both those methods in a setting where I would expect them to work consistently.
Here is a small example.
using StatsBase
x = [fill(1.0), fill(2.0), fill(3.0), fill(4.0)]
w =pweights(ones(length(x)) /length(x))
y =mean(x,w)
which returns a
0-dimensional Array{Float64, 0}:
2.5
So consistently I would have expected mean! to do the same if I pass y as the return value, i.e.
mean!(y,x,w)
but it reports
ERROR: ArgumentError: dims argument must be provided
Stacktrace:
[1] _mean!(R::Array{Float64, 0}, A::Vector{Array{Float64, 0}}, w::ProbabilityWeights{Float64, Float64, Vector{Float64}}, dims::Nothing)
@ StatsBase ~/.julia/packages/StatsBase/WLz8A/src/weights.jl:657
But even if I provide the dims I get for
mean!(y,x,w; dims=1)
ERROR: MethodError: no method matching +(::Float64, ::Array{Float64, 0})
For element-wise addition, use broadcasting with dot syntax: scalar .+ array
Closest candidates are:
+(::Any, ::Any, ::Any, ::Any...)
@ Base operators.jl:578
+(::T, ::T) where T<:Union{Float16, Float32, Float64}
@ Base float.jl:408
+(::Union{Float16, Float32, Float64}, ::BigFloat)
@ Base mpfr.jl:423
...
Stacktrace:
[1] macro expansion
@ ~/.julia/packages/StatsBase/WLz8A/src/weights.jl:528 [inlined]
[...]
Ah, I noticed that the same happens, also in the unweighted case, just that it skips the dimension error and directly reports the last.
The text was updated successfully, but these errors were encountered:
I just stumbled upon some inconsistencies between
mean
andmean!
and I am wondering whether this is a bug – since we try to use both those methods in a setting where I would expect them to work consistently.Here is a small example.
which returns a
So consistently I would have expected
mean!
to do the same if I passy
as the return value, i.e.mean!(y,x,w)
but it reports
But even if I provide the
dims
I get forAh, I noticed that the same happens, also in the unweighted case, just that it skips the dimension error and directly reports the last.
The text was updated successfully, but these errors were encountered: