MathGroup Archive 2010

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

Search the Archive

Re: Finding and changing strings in a matrix

  • To: mathgroup at smc.vnet.net
  • Subject: [mg106796] Re: [mg106745] Finding and changing strings in a matrix
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Sat, 23 Jan 2010 07:36:51 -0500 (EST)
  • Reply-to: hanlonr at cox.net

If I understand what you want, use

Transpose[
 Transpose[
   myData] //.
  {s___, _String, e___} :>
   {s, Last[{s}], e}]


Bob Hanlon

---- Jagra <jagra24891 at mypacks.net> wrote: 

=============
Hi everyone!

I have a matrix with {500, 20} dimensions.  Some random positions in
each column have text strings in them instead of numbers.  While it
can happen, the text strings do not typically appear across an entire
row of data.

I need to find the text strings and replace them by the values
immediately above them.  In the case where the matrix has consecutive
text strings I need to replace them with the first number above the
run of strings.

Here's a part of the data file so you get the idea of what I start
with:

myData ={{5217.61, 10163.8, 5844.44}, {5196.81, 10142.1, 5831.21},
{5293.99,
  10183.5, 5930.53}, {5328.66, 10378., 5945.69}, {5372.38, "-",
  5957.44}, {5402.41, 10536.9, "-"}, {"-", 10494.7, "-"}, {"-",
  10634.2, 6002.92}, {5437.61, 10638.1, 6011.55}, {5397.86, 10546.4,
  5957.43}, {5412.88, "-", "-"}};

myData // MatrixForm

I want to get rid of all "-"s and replace them with the numbers most
directly above them.

I guess I could do this with loops, but that seems like a waste of
Mathematica's power.

I've tried using Rest[myData] and Most[myData] then using Position to
identify where one of the matrices had strings and the other didn't
then using that to replace the strings in the original data.  But I
run into a snag when I have consecutive strings.

I hope someone can help.  Cool forum, lots to learn!  Thanks.

Jagra



  • Prev by Date: Re: NotebookGet/Read/EvaluateSelection Issues
  • Next by Date: Re: Pagination when transferring Mathematica docs to PDF
  • Previous by thread: Re: Finding and changing strings in a matrix
  • Next by thread: Re: Finding and changing strings in a matrix