Re: Help on iteration
- To: mathgroup at smc.vnet.net
- Subject: [mg54962] Re: Help on iteration
- From: dh <dh at metrohm.ch>
- Date: Tue, 8 Mar 2005 05:03:48 -0500 (EST)
- References: <d0gv5a$7lg$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Clifford Martin wrote:
> I've got a simple problem I can't seem to get right.
> Here is a sample set of data
>
> glist={{a,b,c,d,e,f,g,h,l,m,n,o,p,q,Date1},
> {a,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,Date2},
> {a,R,s,t,u,v,X,Y,z,aa,bbb,cc,dd,tt,Date3}};
>
> What I want to do is look at the 14th element in each
> sublist.
You get this by: glist[[All,14]]
(For example in the above example data that
> would be values q, Q and tt). If any value is equal to
> zero (in my example lets say that tt =0) I want to
> 1.Check the date.
> 2.Pull a value associated with that date ,lets call
> it zzz. (that I've entered somewhere else and made a
> variable).
> 3. Calculate a new value for tt (non zero) using a
> calculation such as (s-C)+zzz.
> 4. Replace the value of tt(that was zero) with the
> new calculated value.
> 5. I want to do this for every list in my data set.
If I understand correctly, we want to check the 14th element in each
sublist and if it is zero, to replace it by a function of the last
element. Say we define a function fun that takes a sublist, checks
element 14 and if zero, replaces it by a new value that depends on the
last element:
fun[x0_];=Module[{x=x0},
If[x[[14]]===0,x[[14]]= 2 Last[x]];
x
]
glist= fun /@ glist
or without abbreviations:
glist= Map[fun,glist]
have fun, Daniel