[R] Simulation based on runif to get mean
Rui Barradas
ruipbarradas at sapo.pt
Tue Jan 30 11:03:02 CET 2018
Hello,
Another way would be to use ?replicate and ?colMeans.
set.seed(2511) # Make the results reproducible
fun <- function(n){
f <- function(){
a <- runif(5, 1, 10)
b <- runif(5, 10, 20)
colMeans(cbind(a, b))
}
replicate(n, f())
}
fun(10)
Hope this helps,
Rui Barradas
On 1/30/2018 8:58 AM, Daniel Nordlund wrote:
> On 1/29/2018 9:03 PM, smart hendsome via R-help wrote:
>> Hello everyone,
>> I have a question regarding simulating based on runif. Let say I have
>> generated matrix A and B based on runif. Then I find mean for each
>> matrix A and matrix B. I want this process to be done let say 10
>> times. Anyone can help me. Actually I want make the function that I
>> can play around with the number of simulation process that I want.
>> Thanks.
>> Eg:
>> a <- matrix(runif(5,1, 10))
>>
>> b <- matrix(runif(5,10, 20))
>>
>> c <- cbind(a,b); c
>>
>> mn <- apply(c,2,mean); mn
>>
>> Regards,
>> Zuhri
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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.
>>
>
> Here is a straight forward implementation of your code in a function
> with a parameter for the number simulations you want to run.
>
> sim <- function(n){
> mn <- matrix(0,n, 2)
> for(i in 1:n) {
> a <- runif(5,1, 10)
> b <- runif(5,10, 20)
> c <- cbind(a,b)
> mn[i,] <- apply(c, 2, mean)
> }
> return(mn)
> }
> # run 10 iterations
> sim(10)
>
> In your case, there doesn't seem to be a need to create a and b as
> matrices; vectors work just as well. Also, several of the statements
> could be combined into one. Whether this meets your needs depends on
> what your real world task actually is.
>
>
> Hope this is helpful,
>
> Dan
>
More information about the R-help
mailing list