Re: Any better way for finding frequencies of list entries?
- To: mathgroup at smc.vnet.net
- Subject: [mg26941] Re: Any better way for finding frequencies of list entries?
- From: "Allan Hayes" <hay at haystack.demon.co.uk>
- Date: Sat, 27 Jan 2001 20:00:09 -0500 (EST)
- References: <94tlor$let@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Domi, Variants: 1) See the function Frequencies in the package <<Statistics`DataManipulation` 2) pi = RealDigits[N[Pi, 57]][[1]] {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8, 4, 6, 2, 6, 4, 3, \ 3, 8, 3, 2, 7, 9, 5, 0, 2, 8, 8, 4, 1, 9, 7, 1, 6, 9, 3, 9, 9, 3, 7, 5, 1, 0, \ 5, 8, 2, 0, 9, 7} {Firsr[#], Length[#]} & /@ Split[Sort[pi]] {{0, 3}, {1, 5}, {2, 6}, {3, 9}, {4, 4}, {5, 6}, {6, 4}, {7, 5}, {8, 6}, {9, 9}} One problem with the above would be if not all the digits 0...9 occured and we wanted zero occurences recorded. Here is a generalization that deals with this. HowManyIn[x_, y_] := {First[#], Length[Rest[#]]} & /@ Split[Sort[Join[x, y]]] HowManyIn[{a, b, c}, {a, b, a}] {{a, 2}, {b, 1}, {c, 0}} -- Allan --------------------- Allan Hayes Mathematica Training and Consulting Leicester UK www.haystack.demon.co.uk hay at haystack.demon.co.uk Voice: +44 (0)116 271 4198 Fax: +44 (0)870 164 0565 "Domi" <doud25 at caramail.com> wrote in message news:94tlor$let at smc.vnet.net... > Hello Mathematica experts out there, > > I want to determine the frequencies of the entries in a list of integers > > For example, the following piece of code seems to work with Pi: > pi = Join > [ {3}, ToExpression[Characters[StringDrop[ToString[N[Pi, 57]], {1, > 2}]]]] > Table[{i, Count[pi, i]}, {i, 0, 9}] > > {{0, 3}, {1, 5}, {2, 6}, {3, 9}, {4, 4}, {5, 6}, {6, 4}, {7, 5}, > {8, 6}, {9, 9}} > > Question: Is there a more elegant way to do that? > > Regards from Domi. >