Yes, the  don't-do-that advice is controversial. Computing mean value and 
standard deviation is elegant
   E
+/ % #
   ES
E , E&.:*:&(- E)
   ES +/? 100 100$2
50.02 5.12636


--- Den fre 24/9/10 skrev Kip Murray <k...@math.uh.edu>:

Fra: Kip Murray <k...@math.uh.edu>
Emne: Re: [Jprogramming] Classification problem
Til: programming@jsoftware.com
Dato: fredag 24. september 2010 17.08

About "Don't do that!" modern statistics texts recommend the five-number summary

Minimum Q1 M Q3 Maximum

as a reasonably complete description of center and spread. M Q1 Q3 are the 
median and quartiles, see David S. Moore and George P. McCabe, Introduction to 
the Practice of Statistics, p. 42, for a description of how to calculate.

(Find the median, then find the median of observations below the median and the 
median of observations above the median.  J exercise: find the five number 
summary of a list.)

Kip Murray


On 9/24/2010 1:37 AM, Bo Jacoby wrote:
> First comes relevance, then correctness, performance, and elegance in some 
> order. Not every problem is put right. For example. Question: from a long 
> list of numbers, how to compute the 15th, 50th and 85th percentile? Answer: 
> Don't do that! Compute the mean value and the standard deviation instead.
> Venlig hilsen, Bo
>
>
> --- Den tors 23/9/10 skrev Roger Hui<rhui...@shaw.ca>:
>
> Fra: Roger Hui<rhui...@shaw.ca>
> Emne: Re: [Jprogramming] Classification problem
> Til: "Programming forum"<programming@jsoftware.com>
> Dato: torsdag 23. september 2010 16.48
>
> At first I was going to respond to R.E. Boss with a
> cute and annoying reply, something like "first comes
> elegance, then elegance, then elegance".  But I think
> now I agree with him, "first comes correctness, then
> performance, then elegance",  rather than "first comes
> elegance and correctness".  A counterexample to the
> latter is a model for dyadic index-of for vectors.
> An elegant and correct model is:
>
> ix=: #...@[ - (+/)@(+./\)@(=/)
>
> But due to abysmal performance this is pretty useless
> in practice.
>
> I guess it depends on what you mean by "first comes".
> If you were implementing dyadic index-of you _would_
> first writing something like the above, but almost
> immediately you write something else.
>
>
>
> ----- Original Message -----
> From: Robert Raschke<rtrli...@googlemail.com>
> Date: Thursday, September 23, 2010 6:57
> Subject: Re: [Jprogramming] Classification problem
> To: Programming forum<programming@jsoftware.com>
>
>> I disagree, first comes elegance and correctness, and these tend
>> to go hand
>> in hand if you are concentrating on elegance. I quite strongly
>> believe a
>> human reader is way more important than any machine.
>>
>> Robby
>>
>> On Thu, Sep 23, 2010 at 2:24 PM, R.E. Boss
>> <r.e.b...@planet.nl>  wrote:
>>
>>> I agree. First comes correctness, then performance, then elegance.
>>>
>>>
>>> R.E. Boss
>>>
>>>
>>>> -----Oorspronkelijk bericht-----
>>>> Van: programming-boun...@jsoftware.com [mailto:programming-
>>>> boun...@jsoftware.com] Namens Brian Schott
>>>> Verzonden: donderdag 23 september 2010 14:41
>>>> Aan: Programming forum
>>>> Onderwerp: Re: [Jprogramming] Classification problem
>>>>
>>>> I agree that this solution is elegant, but for a large data
>> set I
>>>> assume that Raul's idea of prepending and then dropping 3 elements
>>>> would be more efficient. Don't you, too?
>>>>
>>>>     (<@}./.~ *) _1 0 1,data
>>>>
>>>> On Thu, Sep 23, 2010 at 8:26 AM, R.E. Boss
>> <r.e.b...@planet.nl>  wrote:
>>>>> One of the more elegant solutions is
>>>>>
>>>>>     ((/:&(*</. ])) *) data
>>>>> +---------------+---+-----+
>>>>> |_3 _1 _10 _2 _4|0 0|1 1 6|
>>>>> +---------------+---+-----+
>>>>>
>>>>>
>>>>> R.E. Boss
>>>>>
>>>>>
>>>>>> -----Oorspronkelijk bericht-----
>>>>>> Van: programming-boun...@jsoftware.com
>> [mailto:programming-
>>>>>> boun...@jsoftware.com] Namens Marshall Lochbaum
>>>>>> Verzonden: woensdag 22 september 2010 23:57
>>>>>> Aan: Programming forum
>>>>>> Onderwerp: Re: [Jprogramming] Classification problem
>>>>>>
>>>>>> It looks to me like the most terse way is
>>>>>> ((</. /: ~...@[)~ f) data
>>>>>>
>>>>>> Although this computes the nub twice, unlike some earlier
>> solutions.>  >  >>
>>>>>> Marshall
>>>>>>
>>>>>> ________________________________________
>>>>>> From: programming-boun...@jsoftware.com [programming-
>>>>>> boun...@jsoftware.com] On Behalf Of Raul Miller [
>>> rauldmil...@gmail.com]
>>>>>> Sent: Wednesday, September 22, 2010 3:29 PM
>>>>>> To: Programming forum
>>>>>> Subject: Re: [Jprogramming] Classification problem
>>>>>>
>>>>>> Note, if * is the universe of interesting
>>>>>> functions (if it does not need to be generic) then
>>>>>> I would be tempted to use a variation on Dan's
>>>>>> second suggestion:
>>>>>>
>>>>>>      (<@}./.~ *) _1 0 1,data
>>>>>>
>>>>>> Note that this also preserves the relative
>>>>>> ordering of the data items.
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm


----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to