From: Marc Schwartz (via MN) <mschwartz_at_mn.rr.com>

Date: Fri 14 Oct 2005 - 05:15:16 EST

R-help@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 Received on Fri Oct 14 05:31:16 2005

Date: Fri 14 Oct 2005 - 05:15:16 EST

On Thu, 2005-10-13 at 19:47 +0200, Jan Sabee wrote:

> Is there any routine to generate for one vector matrix.

*> If I have X I want to generate start from zero to maximum value each vector.
**>
**> For example, I have a vector x = (4,2,3,1,4)
**> I want to generate n=6 times, for 4, start 0 to 4, then 2 start 0 to 2, ect.
**>
**> The result something like this:
**>
**> generate(x,n=6)
**> 1,1,2,1,4
**> 1,2,3,0,3
**> 4,0,1,1,1
**> 3,1,0,1,4
**> 0,0,3,0,0
**> 4,1,3,0,4
**>
**> Could anyone help me. Thanks.
**> Regards,
**> Jan Sabee
*

If I am properly understanding what you are doing here, you have an initial vector of values. You want to create a matrix, whose columns are the result of random sampling with replacement from the initial vector 'n' times, where the sampling space for each column "i" is from 0:x[i]?

If correct, this should do it:

> x <- c(4, 2, 3, 1, 4)

*> x
*

[1] 4 2 3 1 4

> sapply(x, function(x) sample(0:x, 6, replace = TRUE))

[,1] [,2] [,3] [,4] [,5]

[1,] 4 2 1 1 2 [2,] 3 0 0 0 0 [3,] 1 2 0 1 3 [4,] 4 2 1 1 1 [5,] 3 1 3 1 0 [6,] 0 1 1 1 0

Just replace '6' in the sample() arguments with the 'n' you require.

See ?sapply and ?sample.

**HTH,
**
Marc Schwartz

R-help@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 Received on Fri Oct 14 05:31:16 2005

*
This archive was generated by hypermail 2.1.8
: Sun 23 Oct 2005 - 18:51:07 EST
*