Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2004
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2004

[Date Index] [Thread Index] [Author Index]

Search the Archive

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:
  • Prev by Date: Re: Delete problem
  • Next by Date: Re: Re: problem getting the area under a parmetric curve
  • Previous by thread: Re: Delete problem
  • Next by thread: Re: Delete problem