Ok. Issue submitted. https://github.com/JuliaStats/StatsBase.jl/issues/197
On 27 July 2016 at 15:59, Andreas Noack <[email protected]> wrote: > median(abs(x - median(x))) probably creates three temporaries which is the > reason to do this in place. The mad function should promote integers to > floats before calling mad!. Please file an issue. > > On Wed, Jul 27, 2016 at 9:55 AM, Daniel Carrera <[email protected]> > wrote: > >> Thanks. >> >> Why can't the MAD just be implemented as `mad(x) = median(abs(x - >> median(x)))` ? >> >> Cheers, >> Daniel. >> >> On 27 July 2016 at 15:49, j verzani <[email protected]> wrote: >> >>> It seems `mad` calls `mad!` with a copy. The mad! function reuses the >>> copied vector for storage. As the differences from the median are not >>> integers you get an assignment error. That's fussy and should be easily >>> addressed. The multiplier is also done by default in R so that the units of >>> spread for mad and sd are similar. >>> >>> On Wednesday, July 27, 2016 at 5:50:02 AM UTC-4, Daniel Carrera wrote: >>>> >>>> Hello, >>>> >>>> My "mad" function seems to be broken. Maybe I just don't know how to >>>> use it right: >>>> >>>> julia> using StatsBase >>>> >>>> julia> @doc mad >>>> No documentation found. >>>> >>>> StatsBase.mad is a generic Function. >>>> >>>> # 2 methods for generic function "mad": >>>> mad{T<:Real}(v::Range{T<:Real}, args...) at >>>> /home/daniel/.julia/v0.4/StatsBase/src/scalarstats.jl:180 >>>> mad{T<:Real}(v::AbstractArray{T<:Real,N}, args...) at >>>> /home/daniel/.julia/v0.4/StatsBase/src/scalarstats.jl:179 >>>> >>>> julia> mad([1,2,3,4]) >>>> ERROR: InexactError() >>>> in mad! at /home/daniel/.julia/v0.4/StatsBase/src/scalarstats.jl:184 >>>> in mad! at /home/daniel/.julia/v0.4/StatsBase/src/scalarstats.jl:183 >>>> in mad at /home/daniel/.julia/v0.4/StatsBase/src/scalarstats.jl:179 >>>> >>>> julia> >>>> >>>> >>>> >>>> Does anyone know what's happening? Also, I am confused by the >>>> "constant" parameter. The documentation says: >>>> >>>> mad(*x*[, *center][; constant=1.4826*]) >>>> <http://statsbasejl.readthedocs.io/en/latest/scalarstats.html#mad> >>>> >>>> Compute the median absolute deviation >>>> <http://en.wikipedia.org/wiki/Median_absolute_deviation> of x. >>>> >>>> One can optionally supply the center. By default, constant=1.4826 for >>>> consistent estimation of the standard deviation of a normal distribution. >>>> >>>> >>>> >>>> Does this mean that, by default, the mad() function doesn't give you >>>> the MAD, bunt instead it gives you MAD*1.4826 ? >>>> >>>> Thanks for the help. >>>> >>>> Cheers, >>>> Daniel. >>>> >>>> >>>> >>>> >>>> -- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "julia-stats" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/julia-stats/zQDssmSjdyo/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "julia-stats" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to a topic in the > Google Groups "julia-stats" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/julia-stats/zQDssmSjdyo/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "julia-stats" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
