Re: Incidence/frequency of numbers in lists
- To: mathgroup at smc.vnet.net
- Subject: [mg47605] Re: [mg47599] Incidence/frequency of numbers in lists
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Sun, 18 Apr 2004 04:15:02 -0400 (EDT)
- References: <200404170631.CAA16308@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 17 Apr 2004, at 15:31, Diana wrote: > Hi math folks, > > I have a 24 - 455 table. I have named the table SortedEdgeSet. > > The first few lines look like the following: > > {{1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, > 6}, > {1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, > 6}, > {1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, > 6}, > {1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, > 6}, > {1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, > 6}, > {1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, > 6}, > {1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, > 6},... > > The numbers 1 - 6 are listed 24 times in each of 455 sublists. > > I would like to create a new table which does not contain the sublist > members which have two or fewer occurances of any of the six numbers > in the > sublist. I only want sublists which have three or more of each of the > numbers. > > So, for example, I would want to exclude the second sublist line: > > {1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, > 6}, > because it only has two 6's in it. > > I don't know what an occurance function might be in Mathematica. Can > anyone > help? > > Thanks, > > Diana M. > -- > ===================================================== > "God made the integers, all else is the work of man." > L. Kronecker, Jahresber. DMV 2, S. 19. > > > You don't need any "occurance" function (there is a function Frequencies in the Statistics`DataManipulation` package but it is not needed here). If your sublists are already sorted, as in your example, then ls={{1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6}, {1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6}, {1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6}, {1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6}, {1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6}, {1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6}, {1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6}}; Select[ls,Min[Length/@(Split[#])]>2&] {{1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,5,5,5,6,6,6},{1,1,1,1,1,2,2,2,2,2, 3,3, 3,3,4,4,4,4,5,5,5,6,6,6},{ 1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,5,5,5,5,6,6,6},{1,1,1,1,1,2,2,2,2,2,3, 3, 3,3,4,4,4,4,5,5,5,6,6,6},{ 1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,5,5,5,6,6,6,6}} does the job. If not then you need to include Sort before split: Select[ls,Min[Length/@(Split[Sort[#]])]>2&] Andrzej Kozlowski Chiba, Japan http://www.mimuw.edu.pl/~akoz/
- References:
- Incidence/frequency of numbers in lists
- From: "Diana" <diana53xiii@earthlink.remove13.net>
- Incidence/frequency of numbers in lists