[R] expand the inside of command with rep ?

Don MacQueen macq at llnl.gov
Thu Feb 11 01:37:41 CET 2010


To construct the matrix that would result from your cbind() command, do this:

>  x <- 1:15
>  matrix( rep(x,5) , ncol=5)
       [,1] [,2] [,3] [,4] [,5]
  [1,]    1    1    1    1    1
  [2,]    2    2    2    2    2
  [3,]    3    3    3    3    3
  [4,]    4    4    4    4    4
  [5,]    5    5    5    5    5
  [6,]    6    6    6    6    6
  [7,]    7    7    7    7    7
  [8,]    8    8    8    8    8
  [9,]    9    9    9    9    9
[10,]   10   10   10   10   10
[11,]   11   11   11   11   11
[12,]   12   12   12   12   12
[13,]   13   13   13   13   13
[14,]   14   14   14   14   14
[15,]   15   15   15   15   15

This doesn't, of course, use cbind() at all. It uses a different and 
simpler method to directly construct the matrix. You can easily 
generalize it to more columns by using a variable instead of 5 in the 
rep() command, and for the ncol arg to matrix().

-Don

At 12:27 PM -0800 2/10/10, Xu Wang wrote:
>Hi,
>
>I would like to be able to repeat a string within a command. I think there
>is an easy way but I can not figure out how.
>
>Here is an example.
>
>x<-1:15
>I would like to turn this into the following matrix:
>xm<-cbind(x,x,x,x,x)
>
>But I would like to do so by having a command that repeats x within the
>cbind command. Does that make sense? I have tried various things mainly
>involving the commands "rep" and "paste" but cannot get it.
>
>cbind(rep('x',times=5))
>
>I am guessing that this is not good programming etiquette? Something seems
>off about it. But still, I would like to know how to do it.
>
>I do understand that I can use a for loop to easily accomplish the desired
>output but am looking for a solution similar to the above syntax.
>
>Thank you for any ideas,
>
>Xu Wang
>--
>View this message in context: 
>http://*n4.nabble.com/expand-the-inside-of-command-with-rep-tp1476420p1476420.html
>Sent from the R help mailing list archive at Nabble.com.
>
>______________________________________________
>R-help at r-project.org 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.


-- 
--------------------------------------
Don MacQueen
Environmental Protection Department
Lawrence Livermore National Laboratory
Livermore, CA, USA
925-423-1062



More information about the R-help mailing list