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