RE: Dealing with irregular shaped arrays
- To: mathgroup at smc.vnet.net
- Subject: [mg22052] RE: [mg22018] Dealing with irregular shaped arrays
- From: French Christopher Lee <frenchc at tce.com>
- Date: Fri, 11 Feb 2000 02:38:34 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Steve, Import ragged array, pad to a regular array. OK. Your ReadList["ragged.txt", Number, RecordLists -> True] is good but do not be fooled by TableForm. It is a display form and not really altering your data structure. ragged = ReadList["ragged.txt", Number, RecordLists -> True] start by capturing the numerical data then create a structure that specifies the element positions in the target matrix. columndata = {{1, 2, 5}, {1, 2, 3, 4, 5}, {2, 3}, {1, 2, 3, 5}, {1, 4, 5}} (please forgive the unusual programming style) fivebyfive = {a, b, c, d, e} = {ragged, columndata} // Transpose // Transpose /@ # & // Fold[ReplacePart[#1, Sequence @@ #2] &, Table["N/A", {5}], #] & /@ # & Instead of inserting "N/A"'s this is like starting with all "N/A"'s and replacing elements with data. If you are fortunate enough to have the TABS in your file doing the positioning for you then you can use them as word separators and keep them in the input by specifying TokenWords. ReadList["ragged.txt", Word, TokenWords -> {"\t"}, RecordLists -> True] Christopher Lee French <<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>> Engineering Specialist Department 661 Tube Design TTD Engineering - Lancaster Tel:(717) 295 2991. Fax:(717) 295 6045