MathGroup Archive 2009

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

Search the Archive

Using Select

  • To: mathgroup at
  • Subject: [mg97371] Using Select
  • From: "Karsten W." <Karsten.G.Weinert at>
  • Date: Thu, 12 Mar 2009 02:16:40 -0500 (EST)


here is a problem I have solved but I am not happy with the method

I have a data matrix DATA, a list of m ordered n-tuples. I run a
function on the data matrix which returns a list DATAEVAL with m
elements. The i-th element of this list corresponds to the i-th tuple
of the data matrix. I think of this DATAEVAL list as an additional
column of the data matrix.

Now I am only interested in those tuples of the data matrix, where the
corresponding DATAEVAL list has a value greater than zero.

My current approach is the following: I add the DATAEVAL list to the
data matrix and call Select afterwards:

data = Import[...];
dataEval = f[data, ...];
filteredData = Select[Transpose[Join[Transpose[data], {dataEval}] ],
Last[#] > 0 &];

This works. However, calling Transpose two times seems not to be the
most efficient way to solve the problem.

As a newbie to Mathematica (and functional programming), I wonder if
you can point me to a simpler solution?

Kind regards,

  • Prev by Date: Re: Polygon with holes
  • Next by Date: Re: Maintaining a Mathematica bug list
  • Previous by thread: Re: General form of a summation as a function of 2 variables
  • Next by thread: Re: Using Select