Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
1998
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 1998

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

Search the Archive

Re: Request for help: working with multi-level lists

  • To: mathgroup at smc.vnet.net
  • Subject: [mg13679] Re: [mg13665] Request for help: working with multi-level lists
  • From: BobHanlon at aol.com
  • Date: Sat, 15 Aug 1998 04:39:11 -0400
  • Sender: owner-wri-mathgroup at wolfram.com

Needs["Statistics`DescriptiveStatistics`"]

theList = Table[{Random[Integer, {0, 3}], Random[], 
    "whatever string"}, {10}]

{{1, 0.8370020327154653, "whatever string"}, 
  {1, 0.4401372744738867, "whatever string"}, 
  {2, 0.9011999702854371, "whatever string"}, 
  {3, 0.07289422506311362, "whatever string"}, 
  {2, 0.1692284748968154, "whatever string"}, 
  {3, 0.9612500808958513, "whatever string"}, 
  {2, 0.3784052438692051, "whatever string"}, 
  {2, 0.9588220015368138, "whatever string"}, 
  {3, 0.3098155002926614, "whatever string"}, 
  {2, 0.4220779045756698, "whatever string"}}

Mean[Transpose[Select[theList, #1[[1]] == 1 & ]][[2]]]

0.6385696535946761

Needs["Statistics`DataManipulation`"]

Mean[Column[Select[theList, #1[[1]] == 1 & ], 2]]

0.6385696535946761

Instead of using Select in the above, you can use Cases:

Cases[theList, {1, _, _}]

{{1, 0.8370020327154653, "whatever string"}, 
  {1, 0.4401372744738867, "whatever string"}}

Or more simply

Mean[Cases[theList, {1, x_, _} -> x]]

0.6385696535946761

Bob Hanlon

In a message dated 8/11/98 6:32:41 AM, kcconnolly at AOL.com wrote:

>I have a list of 10 elements, each of which is a list of three elements
>(let's say in each case an integer, a real number, and a string). I am
>looking for the most elegant way to select those first-level elements
>(i.e., the lists) whose integer element is equal to a particular value
>(let's say "1"), and then to obtain the mean of the real number
>elements of the lists selected.  This seems as if it should be simple,
>but everything I try leads to Part specification errors.  Any help
>would be greatly appreciated.


  • Prev by Date: Re: Mathematica and Win98?
  • Next by Date: variable dependencies
  • Previous by thread: Re: Request for help: working with multi-level lists
  • Next by thread: Re: Request for help: working with multi-level lists