Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

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

Search the Archive

Re: List Manipulation- Advanced beginner question

  • To: mathgroup at smc.vnet.net
  • Subject: [mg121491] Re: List Manipulation- Advanced beginner question
  • From: Bill Rowe <readnews at sbcglobal.net>
  • Date: Sat, 17 Sep 2011 06:26:14 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com

On 9/16/11 at 5:48 AM, nvanfalk at gmail.com (Nguyen Van Falk) wrote:

>I am trying to add multiple lists together and am looking for some
>guidance. My data is in the form of multiple time series, with dates
>that overlap one another. I need to merge the lists, add all of the
>values together  for the dates that overlap and output a single list
>that only has one entry for each date.

>For example, if I have three values for September 15 (8,14,10), I
>only want a single entry for September 15 in the final list with a
>value of 32. The data is in standard date spec form: { {{Date 1},
>Value 1}, {{Date 2}, Value 2},  {{Date 3}, Value 3}, ....... {{Date
>n}, Value n}, }.

First generate some data in the form you describe:

In[7]:= data =
  Join[{{9, 15, 2011}, #} & /@ {8, 14, 10}, {{8, 15, 2011}, #} & /@
    RandomInteger[50, 4]]

Out[7]= {{{9, 15, 2011}, 8}, {{9, 15, 2011}, 14}, {{9, 15,
2011}, 10},
    {{8, 15, 2011}, 24}, {{8, 15, 2011}, 12}, {{8, 15, 2011}, 32},
    {{8, 15, 2011}, 33}}

then sum per date as follows:

In[8]:= {#[[1, 1]], Total[#[[All, 2]]]} & /@ GatherBy[data, First]

Out[8]= {{{9, 15, 2011}, 32}, {{8, 15, 2011}, 101}}





  • Prev by Date: Re: Aligning Typeset Math on Equal Signs
  • Next by Date: Re: Texture in version 8, fine, but don't export...?
  • Previous by thread: Re: List Manipulation- Advanced beginner question
  • Next by thread: TraditionalForm vs OutputForm display of negative signs