Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Apl > Re: APL - quick...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 2 of 4 Topic 969 of 1081
Post > Topic >>

Re: APL - quickest way?

by Gosi <gosinn@[EMAIL PROTECTED] > Mar 13, 2008 at 05:24 AM

On Mar 13, 10:44=A0am, AAsk <AA2e...@[EMAIL PROTECTED]
> wrote:
> Imagine a nested array like this:
>
> ID =A0 =A0 IND1 =A0 =A0V1 =A0 =A0IND2 =A0 =A0V2 =A0 =A0IND3 =A0 =A0V3
=A0 =
=A0DATE
>
> 1 =A0 =A0 =A0 A =A0 =A0 =A0 100 =A0 =A0- =A0 =A0 - =A0 =A0 =A0 =A0- =A0
=
=A0 - =A0 =A0 2001-12-01
> 2 =A0 =A0 =A0 A =A0 =A0 =A0 =A080 =A0 =A0- =A0 =A0 - =A0 =A0 =A0 =A0C
=A0 =
=A020 =A0 =A0 2001-12-01
> 3 =A0 =A0 =A0 B =A0 =A0 =A0 =A070 =A0 =A0C =A0 =A0 5 =A0 =A0 =A0 =A0D
=A0 =
=A010 =A0 =A0 2001-12-01
>
> where - indicates a missing or unassigned value.
>
> 1. Quickest APL way to reformat it as follows?
> =A0 =A0(replacing missing values by zero)
>
> ID =A0 =A0 IND =A0 =A0 =A0V =A0 =A0 =A0 DATE
>
> 1 =A0 =A0 =A0 A =A0 =A0 =A0 100 =A0 =A0 2001-12-01
> 1 =A0 =A0 =A0 B =A0 =A0 =A0 =A0 0 =A0 =A0 2001-12-01
> 1 =A0 =A0 =A0 C =A0 =A0 =A0 =A0 0 =A0 =A0 2001-12-01
> 1 =A0 =A0 =A0 D =A0 =A0 =A0 =A0 0 =A0 =A0 2001-12-01
> 2 =A0 =A0 =A0 A =A0 =A0 =A0 =A080 =A0 =A0 2001-12-01
> 2 =A0 =A0 =A0 B =A0 =A0 =A0 =A0 0 =A0 =A0 2001-12-01
> 2 =A0 =A0 =A0 C =A0 =A0 =A0 =A020 =A0 =A0 2001-12-01
> 2 =A0 =A0 =A0 D =A0 =A0 =A0 =A0 0 =A0 =A0 2001-12-01
> 3 =A0 =A0 =A0 A =A0 =A0 =A0 =A0 0 =A0 =A0 2001-12-01
> 3 =A0 =A0 =A0 B =A0 =A0 =A0 =A070 =A0 =A0 2001-12-01
> 3 =A0 =A0 =A0 C =A0 =A0 =A0 =A0 5 =A0 =A0 2001-12-01
> 3 =A0 =A0 =A0 D =A0 =A0 =A0 =A010 =A0 =A0 2001-12-01
>
> 2. Quickest APL way to reformat it as follows?
> =A0 =A0(lose rows with missing values)
>
> ID =A0 =A0 IND =A0 =A0 =A0V =A0 =A0 =A0 DATE
>
> 1 =A0 =A0 =A0 A =A0 =A0 =A0 100 =A0 =A0 2001-12-01
> 2 =A0 =A0 =A0 A =A0 =A0 =A0 =A080 =A0 =A0 2001-12-01
> 2 =A0 =A0 =A0 C =A0 =A0 =A0 =A020 =A0 =A0 2001-12-01
> 3 =A0 =A0 =A0 B =A0 =A0 =A0 =A070 =A0 =A0 2001-12-01
> 3 =A0 =A0 =A0 C =A0 =A0 =A0 =A0 5 =A0 =A0 2001-12-01
> 3 =A0 =A0 =A0 D =A0 =A0 =A0 =A010 =A0 =A0 2001-12-01

If you want to do it in J you could do it like this

require'misc'
a=3D: 0 : 0
ID	IND1	V1	IND2	V2	IND3	V3	DATE
1	A	100	-	-	-	-	2001-12-01
2	A	80	-	-	C	20	2001-12-01
3	B	70	C	5	D	10	2001-12-01
)

b=3D:chop a
c=3D:TAB chop each b
d=3D:>{.c
e=3D:>}.c
(d)=3D:|:e

m1=3D:ID,.' ',.IND1,.' ',.V1,.' ',.DATE
m2=3D:ID,.' ',.IND2,.' ',.V2,.' ',.DATE
m3=3D:ID,.' ',.IND3,.' ',.V3,.' ',.DATE
m1,m2,m3
 




 4 Posts in Topic:
APL - quickest way?
AAsk <AA2e72E@[EMAIL P  2008-03-13 03:44:35 
Re: APL - quickest way?
Gosi <gosinn@[EMAIL PR  2008-03-13 05:24:16 
Re: APL - quickest way?
AAsk <AA2e72E@[EMAIL P  2008-03-13 05:49:56 
Re: APL - quickest way?
Phil Last <phil.last@[  2008-03-14 01:19:04 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Sat Jul 26 2:14:39 CDT 2008.