From: jim holtman <jholtman_at_gmail.com>

Date: Tue, 08 May 2007 17:55:08 -0400

*>
*

*>
*

Date: Tue, 08 May 2007 17:55:08 -0400

Is this what you want?

*> n <- 6
**> lagnum <- 2
**> result <- NULL
**> for (i in 1:lagnum) result <- cbind(result, diag(n))
**> result
*

[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [1,] 1 0 0 0 0 0 1 0 0 0 0 0 [2,] 0 1 0 0 0 0 0 1 0 0 0 0 [3,] 0 0 1 0 0 0 0 0 1 0 0 0 [4,] 0 0 0 1 0 0 0 0 0 1 0 0 [5,] 0 0 0 0 1 0 0 0 0 0 1 0 [6,] 0 0 0 0 0 1 0 0 0 0 0 1

On 5/8/07, Leeds, Mark (IED) <Mark.Leeds_at_morganstanley.com> wrote:

> That's a good idea : I didn't realize that my matrices would look so bad

*> in the final email. All I want
**> To do is output 1's in the diagonal elements and zero's everywhere else
**> but the matrix is not square so by diagonals I
**> Really mean if
**>
**> Lagnum = 1 then the elements are (1,1), (2,2), (3,3),(4,4),(5,5),(6,6)
**>
**> Lagnum = 2 then the elements (1,1), (2,2),
**> (3,3),(4,4),(5,5),(6,6),(7,1),(8,2),(9,3),(10,4),(11,5),(12,6)
**>
**> Lagnum = 3 then the elements (1,1), (2,2),
**> (3,3),(4,4),(5,5),(6,6),(7,1),(8,2),(9,3),(10,4),(11,5),(12,6),(13,1),(1
**> 4,2),(15,3),(16,4),(17,5),
**> (18,6)
**>
**> And lagnum always has to be greater than or equal to 1 and less than or
**> equal to (number of cols/number of rows ). Thanks
**> For your advice.
**>
**>
**> -----Original Message-----
**> From: Bert Gunter [mailto:gunter.berton_at_gene.com]
**> Sent: Tuesday, May 08, 2007 5:34 PM
**> To: Leeds, Mark (IED); r-help_at_stat.math.ethz.ch
**> Subject: RE: [R] Looking for a cleaner way to implement a setting
**> certainindices of a matrix to 1 function
**>
**> Suggestion:
**>
**> You might make it easier for folks to help if you explained in clear and
**> simple terms what you are trying to do. Code is hard to deconstruct.
**>
**>
**> Bert Gunter
**> Genentech Nonclinical Statistics
**>
**>
**> -----Original Message-----
**> From: r-help-bounces_at_stat.math.ethz.ch
**> [mailto:r-help-bounces_at_stat.math.ethz.ch] On Behalf Of Leeds, Mark (IED)
**> Sent: Tuesday, May 08, 2007 2:22 PM
**> To: r-help_at_stat.math.ethz.ch
**> Subject: [R] Looking for a cleaner way to implement a setting
**> certainindices of a matrix to 1 function
**>
**> I wrote an ugly algorithm to set certain elements of a matrix to 1
**> without looping and below works and you can see what The output is below
**> the code.
**>
**> K<-6
**> lagnum<-2
**>
**> restrictmat<-matrix(0,nrow=K,ncol=K*3)
**> restrictmat[((col(restrictmat) - row(restrictmat) >= 0 ) &
**> (col(restrictmat)-row(restrictmat)) %% K == 0)]<-1
**> restrictmat[,(lagnum*K+1):ncol(restrictmat)]<-0
**>
**> restrictmat
**> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
**> [,13] [,14] [,15] [,16] [,17] [,18]
**> [1,] 1 0 0 0 0 0 1 0 0 0 0 0
**> 0 0 0 0 0 0
**> [2,] 0 1 0 0 0 0 0 1 0 0 0 0
**> 0 0 0 0 0 0
**> [3,] 0 0 1 0 0 0 0 0 1 0 0 0
**> 0 0 0 0 0 0
**> [4,] 0 0 0 1 0 0 0 0 0 1 0 0
**> 0 0 0 0 0 0
**> [5,] 0 0 0 0 1 0 0 0 0 0 1 0
**> 0 0 0 0 0 0
**> [6,] 0 0 0 0 0 1 0 0 0 0 0 1
**> 0 0 0 0 0 0
**>
**> For lagnum equals 1 , it also works :
**>
**> restrictmat
**> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
**> [,13] [,14] [,15] [,16] [,17] [,18]
**> [1,] 1 0 0 0 0 0 0 0 0 0 0 0
**> 0 0 0 0 0 0
**> [2,] 0 1 0 0 0 0 0 0 0 0 0 0
**> 0 0 0 0 0 0
**> [3,] 0 0 1 0 0 0 0 0 0 0 0 0
**> 0 0 0 0 0 0
**> [4,] 0 0 0 1 0 0 0 0 0 0 0 0
**> 0 0 0 0 0 0
**> [5,] 0 0 0 0 1 0 0 0 0 0 0 0
**> 0 0 0 0 0 0
**> [6,] 0 0 0 0 0 1 0 0 0 0 0 0
**> 0 0 0 0 0 0
**>
**> But I am thinking that there has to be a better way particularly because
**> I'll get an error if I set lagnum to 3.
**> Any improvements or total revampings are appreciated. The number of
**> columns will always be a multiple of the number of rows So K doesn't
**> have to be 6. that was just to show what the commands do.
**> thanks.
**> --------------------------------------------------------
**>
**> This is not an offer (or solicitation of an offer) to
**> buy/se...{{dropped}}
**>
**> ______________________________________________
**> R-help_at_stat.math.ethz.ch mailing list
**> **https://stat.ethz.ch/mailman/listinfo/r-help
**> PLEASE do read the posting guide
**> http://www.R-project.org/posting-guide.html
**> and provide commented, minimal, self-contained, reproducible code.
**> --------------------------------------------------------
**>
**> This is not an offer (or solicitation of an offer) to buy/se...{{dropped}}
**>
**> ______________________________________________
**> R-help_at_stat.math.ethz.ch mailing list
**> https://stat.ethz.ch/mailman/listinfo/r-help
**> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
**> and provide commented, minimal, self-contained, reproducible code.
**>
*

-- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem you are trying to solve? ______________________________________________ R-help_at_stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.Received on Tue 08 May 2007 - 22:07:22 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Tue 08 May 2007 - 22:31:12 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*