Re: Adding columns and rows to a table
- To: mathgroup at smc.vnet.net
- Subject: [mg33478] Re: [mg33439] Adding columns and rows to a table
- From: gleam at flashmail.com (Paul)
- Date: Fri, 22 Mar 2002 04:07:25 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Philip, Try this: f[a_?MatrixQ] := Join[#, #[[{-1, -1}]]] & /@ Join[a, a[[{-1, -1}]]] tbl = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; f[tbl] // MatrixForm Paul At 09:27 AM -0500 03/21/2002, you wrote: >>>>>>>>>>>>>> Hello, I want to add to a table two columns that match the last column, and two rows that match the last row. Thus, if my table is {{1,2,3,4},{5,6,7,8},{9,10,11,12}}; I want to modify it such that I end up with {{1,2,3,4,4,4}, {5,6,7,8,8,8}, {9,10,11,12,12,12}, { 9,10,11,12,12,12}, {9,10,11,12,12,12}}; This works: tab1 = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; tab1c = Transpose[ Append[Append[Transpose[tab1], Transpose[tab1][[-1]]], Transpose[tab1][[-1]]]]; tab1d = Append[Append[tab1c, tab1c[[-1]]], tab1c[[-1]]] // TableForm However, I bet there are much more efficient and elegant ways of doing this. Any suggestions? Thanks in advance for the help. The ideas I obtain from you folks are extremely helpful. Regards, Phil -- 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