 
 
 
 
 
 
Re: List Manipulation: Conditionally changing y value when x value
- To: mathgroup at smc.vnet.net
- Subject: [mg109101] Re: List Manipulation: Conditionally changing y value when x value
- From: Armand Tamzarian <mike.honeychurch at gmail.com>
- Date: Mon, 12 Apr 2010 23:02:07 -0400 (EDT)
- References: <hpml5b$9nk$1@smc.vnet.net>
On Apr 9, 2:31 am, "Charles Koehler" <cjk... at wi.rr.com> wrote:
> Hello,
>
> If possible I could use a little help on this.
>
> I have a list of  x and y data and based on the value of x I would like to
> manipulate the value y.
>
> I joined the data using:
>
> pts=MapThread[{##1}&,{x,y}]
>
> I assumed that by testing the x value using #[[1]], I could change the value
> of y using #[[2]] as shown below.  If no manipulation was required based on
> the value of x, I would keep that point unchanged, but I'm definitely
> missing something.
>
> filtered=If[a<#[[1]]&<b,#[[2]]&=0],{#[[1]],#[[2]]}&,pts]
>
> a and b are the range of x values
>
> Any insight would be much appreciated.
>
> Thanks,
>
> Chuck Koehler
Try using a rule replacement. e.g.
a=3;b=13;
Table[{RandomInteger[{0, 20}], RandomReal[{1, 4}]}, {20}] /. {x_,
y_} /; a < x < b :> {x, 0}

