MathGroup Archive 2002

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

Search the Archive

Re: How Do You Reduce Multiple Elements in a List?


In a message dated 4/20/02 4:25:28 AM, nitlion at mindspring.com writes:

>This seems like such a simple thing, yet I've search through the big book
>trying to figure it out.  Perhaps someone can help me...
>
>Given a list of integers that generally contains the same number many times,
>I'd like to reduce it to a list that just gives me the number/count pairs.
>For example, I'd like to convert the list
>   {1, 1, 1, 1, 1, 2, 2, 2, 4, 4, 4, 4, 4, 4}
>into
>   {{1,5}, {2,3}, (4,6}}
>
>Is there a built-in function to do this?  Seems like a histogramming
>operation, but I get no useful matches from ?*Hist*.
>

lst = Table[Random[Integer,{1,4}],{10}];

Look in the index under run length encoding.  You will be directed to the 
function Split

{First[#],Length[#]}&/@Split[Sort[lst]]

or

{#,Count[lst, #]}& /@ Union[lst]

or

Needs["Statistics`DataManipulation`"];

Reverse /@ Frequencies[lst]


Bob Hanlon
Chantilly, VA  USA


  • Prev by Date: Explicit Conjugate: a feature or a bug?
  • Next by Date: RE: How Do You Reduce Multiple Elements in a List?
  • Previous by thread: RE: How Do You Reduce Multiple Elements in a List?
  • Next by thread: RE: How Do You Reduce Multiple Elements in a List?