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.

Reply via email to