This thread seems to have concentrated on forks using the primitives.  That 
may have been part of John's specification, but one of the joys of J is its 
ability to express alternative approaches to a problem simply.  I think most 
of the cases of real interest arise with defined functions.

If  mean is a dyadic function with weights on the left and values on the 
right, and sd is also dyadic with similar arguments, and both functions are 
ambivalent with the monadic case weights of 1

Then

sd%mean

is the coefficient of variation for both the monadic and dyadic cases and 
both commonly occur.

Add to these functions the deviations from the (weighted) mean, and a var 
function for the variance, and you have powerful tools for handling 
distributions.



Regression provides other simple examples.

We might have, using conventions of y and x as common in stats

reg yx   a monadic form
y reg1 x    a dyadic form

To extract information from the regression result you might use

(Coeff % CoeffSE)  r

to get the t-statistics, but it is only monadic because the data contains at 
least two distinct objects, the coefficients, and their variance matrix.

but in a particular context it may have been appropriate to write

(y coeff1 x) % (y coeffse1 x)

Of course in the standard case that would mean possibly twice the 
computations, but there are related situations where the two calculations 
can be almost independent.


>From the user perspective, this ability to formulate the problem in either a 
dyadic or a monadic form can be important, and adds to the flexibility of J 
as a tool of thought.

Fraser

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

Reply via email to