InputStream in version 3 vs version 4
- To: mathgroup at smc.vnet.net
- Subject: [mg18773] InputStream in version 3 vs version 4
- From: "ELLIS, Luci" <EllisL at rba.gov.au>
- Date: Tue, 20 Jul 1999 01:33:30 -0400
- Sender: owner-wri-mathgroup at wolfram.com
Hi MathGroupers, I am trying to read in a standard tab-delimited text file of data. It works under version 3, but not version 4, and I have no idea why. I tried setting the DOSTextFormat option to False, and that didn't help. There didn't appear to be anything in the manual indicating that this function had changed in version 4. Does anyone have any suggestions? If it helps, I'm using NT. In[1]:= NSeries = 4; In[2]:= HeaderType = Table[Word, {NSeries + 1}] Out[2]= {Word, Word, Word, Word, Word} In[3]:= InFile = OpenRead["QuartEcoTest.txt"] Out[3]= InputStream["QuartEcoTest.txt", 5] In[4]:= Streams[] Out[4]= {OutputStream["stdout", 1], OutputStream["stderr", 2], InputStream["QuartEcoTest.txt", 5]} In[5]:= EcoLabels = Read[InFile, HeaderType] Out[5]= {"Series", "GDP", "NFGDP", "GDPDEF", "NFGDPDEF"} In[8]:= DataType = Prepend[Table[Number, {NSeries}], Word] Out[8]= {Word, Number, Number, Number, Number} In[9]:= EcoData = ReadList[InFile, DataType, RecordLists -> True]; Read::"readn": "Syntax error reading a real number from \ \!\(\"QuartEcoTest.txt\"\)." In[10]:= EcoData // InputForm Out[10]//InputForm= {{{"", $Failed, EndOfFile, EndOfFile, EndOfFile}}} The data looks like this (with more rows, of course). The point is that I want to keep the headings and first column as text, Series GDP NFGDP GDPDEF NFGDPDEF Sep-89 108379.0 105023.0 86.5 85.5 Dec-89 108768.0 105231.0 86.8 86.0 Mar-90 109335.0 105769.0 88.7 88.1 Jun-90 109885.0 106371.0 89.2 88.7 Sep-90 109241.0 105519.0 90.2 90.4 Dec-90 109339.0 105552.0 90.7 91.1 Mar-91 108692.0 105250.0 91.2 91.6 Failing this, can anyone suggest a robust way to turn a list of functions and a matrix of data into a matrix where the elements of each row are the elements of the original matrix transformed by the corresponding function? That is: functions= {f[#]&, g[#]&, h[#]&} data = {{data[1,1],data[1,2],data[1,3]},{data[2,1],data[2,2],data[2,3}, {data[3,1],data[3,2],data[3,3}, {data[4,1],data[4,2],data[4,3]},{data[5,1],data[5,2],data[5,3}} output= {f[data[1,1]], g[data[1,2]], h[data[1,3]]}, {f[data[2,1]], g[data[2,2]], h[data[2,3]]}, {f[data[3,1]], g[data[3,2]], h[data[3,3]]}, {f[data[4,1]], g[data[4,2]], h[data[4,3]]}, {f[data[5,1]], g[data[5,2]], h[data[5,3]]}, I've tried various combinations of Map, MapThread, Thread and Inner without success. Thanks, Luci ____________________________________________________ Luci Ellis ph:61-2-9551-8881 Acting Senior Economist fx:61-2-9551-8833 Financial & Monetary Conditions ellisl at rba.gov.au Economic Analysis Department GPO Box 3947 Reserve Bank of Australia Sydney NSW 2001 My opinions are not those of my employer
- Follow-Ups:
- Re: InputStream in version 3 vs version 4
- From: "Wolf, Hartmut" <hwolf@debis.com>
- Re: InputStream in version 3 vs version 4
- From: "Wolf, Hartmut" <hwolf@debis.com>
- Re: InputStream in version 3 vs version 4