Try this:

> result <- list()  # holds the numbers for each column
> for (i in seq(ncol(rate_number))){
+     ans <- NULL
+     for (j in seq(nrow(rate_number))){
+         ans <- c(ans, runif(rate_number[j, i], range_mat[j, i],
range_mat[j + 1, i]))
+     }
+     result[[i]] <- ans
+ }
> result
[[1]]
  [1] 6.498850 6.608809 6.745953 6.440018 6.638723 7.217353 6.856071 7.075837
  [9] 6.812778 6.883610 6.943057 6.756695 6.941194 7.184845 6.920174 6.991040
 [17] 7.049783 6.996771 6.843109 7.163687 8.252700 8.441360 7.411915 8.335566
 [25] 7.866912 8.481419 8.220590 8.424399 8.079554 8.044579 8.434034 7.284997
 [33] 7.965845 8.348471 8.289097 7.966429 8.541814 7.907146 7.617196 7.356019
 [41] 7.399199 7.724408 8.027951 8.243008 7.860245 8.619314 7.690405 7.938599
 [49] 7.748592 8.226306 7.637025 7.967818 8.399466 7.376370 8.562982 7.758609
 [57] 8.509161 7.770025 7.750662 7.964527 8.588298 8.546509 7.834984 8.415981
 [65] 8.690927 7.901989 8.318772 7.849992 7.738028 8.385631 7.554038 8.316682
 [73] 7.432538 7.618233 7.464957 7.609444 7.338402 8.213432 8.564404 8.418372
 [81] 9.148654 8.977637 8.955042 9.155435 9.052467 9.077362 8.926599 8.885130
 [89] 9.246342 9.066747 8.856604 8.814686 8.989059 9.212037 9.049380 9.738085
 [97] 9.615896 9.428363 9.465737 9.324106

[[2]]
  [1]  9.006539  9.357783  9.051592  9.223142  9.320051  9.495919  9.247797
  [8]  9.242175  9.086721  9.377410  9.226948  9.255585  9.103773  9.114329
 [15]  9.297856  9.287436  9.038532  9.017770  9.321398  9.464308 10.098092
 [22] 10.060901 10.026028 10.485095 10.007642 10.182788 10.101541  9.738869
 [29]  9.758166 10.229310  9.952571  9.675127 10.246698  9.604988 10.364545
 [36] 10.114645 10.057160  9.828777  9.953131 10.000441  9.680866 10.029631
 [43]  9.575276  9.777756  9.712700  9.784790 10.395094  9.946235 10.279985
 [50] 10.380619  9.913124  9.563808  9.835487 10.223726  9.837615 10.130414
 [57] 10.340615 10.356132  9.891359  9.880494 10.395445 10.144316 10.241079
 [64] 10.105303 10.403082  9.793730  9.691260 10.386451 10.003339 10.377058
 [71]  9.689194 10.258103 10.224499 10.443725 10.047647 10.211744  9.888905
 [78]  9.600873 10.427302  9.783233 10.795287 10.555180 10.920254 10.658982
 [85] 10.891426 10.633754 10.609323 10.758398 10.634475 10.590584 10.759288
 [92] 10.781391 10.564578 10.628184 10.858968 10.980705 10.550070 10.881611
 [99] 10.973983 10.909317

[[3]]
  [1] 4.404146 4.574790 4.726678 4.726866 4.419990 4.381237 4.332727 4.411084
  [9] 4.505063 4.711984 5.005480 4.878811 4.773230 4.958928 5.177001 4.923615
 [17] 4.815721 4.937243 5.065710 4.945039 5.094814 5.094707 5.027450 4.964812
 [25] 4.976360 4.903222 5.039177 5.205185 4.821302 4.957524 5.355463 5.464375
 [33] 5.316345 5.480048 5.721479 5.630987 5.716455 5.485339 5.551794 5.492495
 [41] 5.304403 5.373863 5.499257 5.436433 5.717346 5.511993 5.408572 5.388983
 [49] 5.643770 5.601231 5.332514 5.282229 5.627353 5.560205 5.334788 5.281107
 [57] 5.304515 5.440858 5.334655 5.399326 5.346105 5.378585 5.340616 5.488657
 [65] 5.635369 5.263894 5.513655 5.690160 5.436532 5.273980 5.819314 5.910746
 [73] 5.827416 5.816114 5.860653 5.863190 5.815708 6.240782 5.913507 6.003470
 [81] 6.090721 5.799585 5.809451 5.775220 6.214627 6.086856 5.797429 5.996298
 [89] 5.980776 5.937608 6.745550 6.338175 6.656718 6.284223 6.450225 6.320572
 [97] 6.346655 6.670676 6.609957 6.383606



On Fri, Sep 3, 2010 at 6:32 AM, Sarah Sanchez <sarah_sanche...@yahoo.com> wrote:
>
>
>
>
> Dear R helpers
>
> I have following dataset
>
> rate_number = matrix(c(5, 15, 60, 15, 5, 0, 20, 60, 20,0, 10, 20, 40, 20, 
> 10), nrow = 5, ncol = 3)
>
> range_mat = matrix(c(6.25, 6.75, 7.25, 8.75, 9.25, 9.75, 8.5, 9, 9.5, 10.5, 
> 11, 11.5, 4.25, 4.75, 5.25, 5.75, 6.25, 6.75), nrow = 6, ncol = 3)
>
>> rate_number
>        [,1]   [,2]   [,3]
> [1,]    5     0      10
> [2,]   15   20      20
> [3,]   60   60      40
> [4,]   15   20      20
> [5,]    5     0      10
>
>> range_mat
>      [,1]      [,2]     [,3]
> [1,] 6.25     8.5   4.25
> [2,] 6.75     9.0   4.75
> [3,] 7.25     9.5   5.25
> [4,] 8.75   10.5   5.75
> [5,] 9.25   11.0   6.25
> [6,] 9.75   11.5 6.75
>
> My problem is to generate random numbers in line with rate_number and using 
> the range_mat. E.g.
>
> I need to generate (5, 15, 60, 15, 5 i.e. the first column of rate_number) 
> uniform random numbers (using 1st column of range_mat) s.t the first 5 
> numbers will be in the range (6.25 - 6.75), next 15 numbers should be in the 
> range (6.75 to 7.25), next 60 numbers should be in the range (7.25 to 8.75), 
> next 15 numbers in the range (8.75 to 9.25) and last 5 numbers in the range 
> (9.25 to 9.75).
>
> Similarily, I need to generate (0, 20, 60, 20, 0 i.e. 2nd column of 
> rate_number) uniform random numbers in the range (using 2nd column of 
> range_mat) i.e. (8.5 to 9), (9 to 9.5), (9.5 to 10.5), (10.5 to 11), (11 to 
> 11.5) respectively.
>
> I could have generated these random numbers Individually using runif, but 
> main problem is range_number could be anything i.e. there may be 50 rates but 
> for each rate, no of rate combination will always be 5 i.e. rate_number will 
> always have 5 rows only and also range_mat will always have 6 rows only.
>
> I tried writing loops and even tapply etc. but just can't get through.
>
> I sincerely request you to kindly guide me.
>
> Regards
>
> Sarah
>
>
>
>
>
>
>
>        [[alternative HTML version deleted]]
>
>
> ______________________________________________
> R-help@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.
>
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?

______________________________________________
R-help@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.

Reply via email to