I share your antipathy to ". but I think it is unfounded. Surely it's
no different from using 3 : .
,./ will work but it will have quadratic performance. Avoid for large
operands.
Henry Rich
Sherlock, Ric wrote:
> Thanks Henry
> This is much simpler but I have this (probably irrational) negative feeling
> about using Do (".). I imagine that Evoke (~) is probably just Do (".) under
> the covers so perhaps I just need to get over it!! Reassurances welcome :-)
>
> The other thing I like about the other solution is that it will give a length
> error if the columns are not equal length. Whether that is desirable is
> obviously problem dependent, but in my case it is a plus. Combining bits I
> get:
>
> ,.&:>/@:(".&.>)@;: 'Var1 Var2 Var3 Var4 Var5'
>
>> From: Henry Rich
>> Sent: Thursday, 17 June 2010 12:23
>>
>> |:@:(".@>) ;: 'Var3 Var5 Var4 Var1 Var2'
>>
>> Sherlock, Ric wrote:
>>> How best to form a matrix from a list of noun names where each noun
>> is a list of values that will form a column in the matrix?
>>> Below is one solution, are there better ones?
>>>
>>> Named nouns:
>>> 'Var3 Var5 Var4 Var1 Var2' =: 5 7 ?...@$ 60
>>>
>>> evoke=: 3 : 'y~'
>>> toMatrix =: [: ,.&:>/ [: evoke&.> ;:
>>>
>>> toMatrix 'Var1 Var2 Var3 Var4 Var5'
>>> 16 36 6 31 37
>>> 0 46 35 32 40
>>> 24 5 59 58 14
>>> 24 17 52 0 6
>>> 11 8 14 10 38
>>> 13 48 39 42 13
>>> 23 42 20 11 58
>>>
>>> ---------------------------------------------------------------------
>> -
>>> 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