Re: Sum elements in a list with conditions

• To: mathgroup at smc.vnet.net
• Subject: [mg128439] Re: Sum elements in a list with conditions
• From: Fred Simons <f.h.simons at tue.nl>
• Date: Fri, 19 Oct 2012 02:44:04 -0400 (EDT)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• Delivered-to: l-mathgroup@wolfram.com
• Delivered-to: mathgroup-newout@smc.vnet.net
• Delivered-to: mathgroup-newsend@smc.vnet.net
• References: <20121018063647.0023568A4@smc.vnet.net>

```After having used GatherBy, for each of the resulting list elements you
want to have the first element of the first column and the sum of the
second column:

In[10]:= list1 = {{1,a},{2,b},{1,c},{2,d},{2,e},{3,f}};
In[11]:= {#[[1,1]], Total[#[[All,2]]]}& /@ GatherBy[list1, First]
Out[11]= {{1,a+c},{2,b+d+e},{3,f}}

Fred Simons
Eindhoven University of Technology

Op 18-10-2012 8:36, Guillermo Sanchez schreef:
> I have a list of sublist of pairs. I wish sum the second elements of
> the sublists when the first elements are equals
> Example:
> Int[]:={{1, a}, {2, b}, {1, c}, {2, d}, {2, e}, {3, f}}
> I hope
> Out[]:= {{1, a + c}, {2, b + c + e}, {3, f}}
>
> I can do it as  is it is shown below but could any body find and
> easier solution.
>
>
> list1 = {{1, a}, {2, b}, {1, c}, {2, d}, {2, e}, {3, f}};
> list2 = GatherBy[list1, First];
> {l1, l2} = Transpose[Plus @@@ GatherBy[list, First]];
> Transpose[{l1/Length /@ list2 , l2}]
>
>
>

```

• Prev by Date: Re: Front end - Error when saving file
• Next by Date: Re: Sum elements in a list with conditions
• Previous by thread: Re: Sum elements in a list with conditions
• Next by thread: Re: Sum elements in a list with conditions