Re: Delete problem
- To: mathgroup at smc.vnet.net
- Subject: [mg52913] Re: [mg52871] Delete problem
- From: Tomas Garza <tgarza01 at prodigy.net.mx>
- Date: Thu, 16 Dec 2004 03:41:43 -0500 (EST)
- References: <200412150926.EAA10676@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
I'm not sure if I understood your problem right. In your example the ninth
position in each list is also the last one, and I'm taking advantage of that
fact. Otherwise, a small adjustment would be needed. Perhaps, then, this
will help:
In[1]:=
masterlist = {{{"AEST-01-C-10", 1, 1, 1, 2, 31, 1, C,
-2.14}, {"AEST-01-C-10", 1, 1, 1, 4, 31, 1, C,
-1.1}, {"AEST-01-C-10", 2, 2, 1, 2, 12, 2, C,
1.79}}, {{"AEST-01-C-10", 2, 1, 2, 1, 10, 2, C,
1.334}, {"AEST-01-C-10", 2, 1, 3, 2, 1, 4, C,
1.997}, {"AEST-01-C-10", 3, 2, 1, 1, 2, 1, C,
-1.17}, {"AEST-01-C-10", 3, 4, 1, 1, 21, 2, C,
2.15}}};
In[2]:=
Join[Select[masterlist, Length[#] != 3 & ],
Cases[(Last /@ # & ) /@ Select[masterlist,
Length[#] == 3 & ], x_ /; MemberQ[x, 0]]]
Out[2]=
{{{"AEST-01-C-10", 2, 1, 2, 1, 10, 2, C, 1.334},
{"AEST-01-C-10", 2, 1, 3, 2, 1, 4, C, 1.997},
{"AEST-01-C-10", 3, 2, 1, 1, 2, 1, C, -1.17},
{"AEST-01-C-10", 3, 4, 1, 1, 21, 2, C, 2.15}}}
Tomas Garza
Mexico City
----- Original Message -----
From: "Todd Allen" <genesplicer28 at yahoo.com>
To: mathgroup at smc.vnet.net
Subject: [mg52913] [mg52871] Delete problem
> Hi everyone,
>
> I have situation where I am trying to quality
> control check a "list of lists" for certain values
> that should be deleted from the list if they are
> found. I have wrote a few lines of code that I
> believe should work, but rather than simply deleting a
> part of the list, mathematica seems to delete the
> entire list. Below is the situation with a small test
> dataset:
>
> masterlist={{{AEST-01-C-10,1,1,1,2,31,1,C,-2.14},{AEST-01-C-10,1,1,1,4,31,1,
>
> C,-1.1},{AEST-01-C-10,2,2,1,2,12,2,C,1.79}},{{AEST-07-E-04,2,1,2,1,10,2,
>
> C,1.334},{AEST-07-E-04,2,1,3,2,1,4,C,1.997},{AEST-07-E-04,3,2,1,1,2,1,
> C,-1.17},{AEST-07-E-04,3,4,1,1,21,2,C,2.15}}};
>
> index=1;ccheck=Sign[masterlist[[index,All,9]]];While[
> index<=Length[masterlist],
> If[Count[ccheck,_?Positive]>0 &&
> Count[ccheck,_?Negative]>0 &&
>
> Count[ccheck,_Integer]==3,masterlist=Delete[masterlist,index],index++]];
>
>
> I am trying to delete lists that have both positive
> and negative values in the ninth position of common
> elements and also have only 3 members of that group.
> For example, I would expect mathematica to delete the
> first group of masterlist above, because it has three
> subgroups of AEST-01-C-10 and it has the values of
> -2.14, -1.1and 1.79 in each of the three AEST-01-C-10
> elements. Sorry if I have badgered the proper use of
> list/grouping terminology, but hopefully my general
> idea is clear.
>
> Thank you for any thoughts you might have.
>
> Best regards,
> Todd
>
>
>
>
>
> __________________________________
> Do you Yahoo!?
> Yahoo! Mail - Helps protect you from nasty viruses.
> http://promotions.yahoo.com/new_mail
>
>
- References:
- Delete problem
- From: Todd Allen <genesplicer28@yahoo.com>
- Delete problem