MathGroup Archive 2002

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

Search the Archive

RE: Adding columns and rows to a table

  • To: mathgroup at smc.vnet.net
  • Subject: [mg33497] RE: [mg33439] Adding columns and rows to a table
  • From: "Wolf, Hartmut" <Hartmut.Wolf at t-systems.com>
  • Date: Sun, 24 Mar 2002 01:43:49 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

> -----Original Message-----
> From: Philip M. Howe [mailto:pmhowe at lanl.gov]
To: mathgroup at smc.vnet.net
> Sent: Thursday, March 21, 2002 3:27 PM
> To: mathgroup at smc.vnet.net
> Subject: [mg33497] [mg33439] Adding columns and rows to a table
> 
> 
> 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
> 

Phil,

look at

In[12]:= napp = 2;
In[13]:=
Nest[Transpose[Join[#, Table[Last[#], {napp}]]] &, tab1, 2] // MatrixForm

You may tune napp, but not the second "2" appearing.

--
Hartmut Wolf



  • Prev by Date: Re: Re: Sinh[y]/y as y->0?
  • Next by Date: Re: Vector Diagrams
  • Previous by thread: Re: Adding columns and rows to a table
  • Next by thread: Re: Adding columns and rows to a table