MathGroup Archive 2002

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

Search the Archive

Use of Import inside of Module

  • To: mathgroup at smc.vnet.net
  • Subject: [mg33299] Use of Import inside of Module
  • From: "Philip M. Howe" <pmhowe at lanl.gov>
  • Date: Thu, 14 Mar 2002 02:22:01 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

Hi All,

I have some fairly large data files that I am working with in 
Mathematica. Each data file contains five columns of data, the first 
two of which are of interest to me, so I perform a few manipulations 
to convert the first two columns into a list of pairwise data, which 
I then plot.  I have generated a toy file ("myfile"), to illustrate 
the point - myfile is a text file containing the following:

0	0	1	2	3
1	0	2	3	5
2	0	2	2	4
3	0	3	3	4
4	1	4	4	5
5	.9	4	5	6
6	.8	4	5	6
7	.6	4	5	6
8	.5	4	6	6
9	.4	5	5	6
10	.4	5	5	6

This small file could easily be pasted, but the large files are 
unwieldy, so it is nice to use "Import". Using  "Import", the 
following does what I want:

ndat = Import["myfile", "Table"];
mdat = Transpose[{Transpose[ndat][[1]], Transpose[ndat][[2]]}];
ListPlot[mdat, PlotJoined -> True];

Since I have numerous files to work with, I wish to combine the above 
into a single function, which contains all the steps.  It looks like 
the snippet below ought to work, but it doesn't:

Clear[g, ndat, mdat, file];
g[file_] := Module[{ndat, mdat},
     ndat = Import["file", "Table"];
     mdat = Transpose[{Transpose[ndat][[1]], Transpose[ndat][[2]]}];
     ListPlot[mdat, PlotJoined -> True]]
g[myfile];

Apparently, the problem lies with embedding Import within Module.  I 
can generate a work-around:

ndat = Import["myfile", "Table"];
g[file_] := Module[{mdat},
       mdat = Transpose[{Transpose[file][[1]], Transpose[file][[2]]}];
       ListPlot[mdat, PlotJoined -> True]];
g[ndat];

However, using Module might be neater, and  I would like to know what 
I am doing wrong, anyway.  Any suggestions?

Thanks for the help.

P.
-- 
Philip M. Howe
Program Manager, Stockpile Surety
Los Alamos National Laboratory

(505) 665-5332
(505) 667-9498
Fax: 505-665-5249
email pmhowe at lanl.gov
Mail Stop P945


  • Prev by Date: Re: long Framelabels
  • Next by Date: Re: Re: Can anyone help about this inverse laplace transform problem?
  • Previous by thread: gaussian function?
  • Next by thread: Re: Use of Import inside of Module