Hello,
Right. Missed that one.
Rui Barradas

Enviado a partir do meu smartphone Samsung Galaxy.-------- Mensagem original 
--------De: Eric Berger <ericjber...@gmail.com> Data: 30/01/2018  10:12  
(GMT+00:00) Para: Rui Barradas <ruipbarra...@sapo.pt> Cc: Daniel Nordlund 
<djnordl...@gmail.com>, smart hendsome <putra_autum...@yahoo.com>, 
r-help@r-project.org Assunto: Re: [R] Simulation based on runif to get mean 
Or a shorter version of Rui's approach:
set.seed(2511)    # Make the results reproduciblefun <- function(n){  f <- 
function(){    c(mean(runif(5,1,10)),mean(runif(5,10,20)))  }  replicate(n, 
f())}fun(10)
On Tue, Jan 30, 2018 at 12:03 PM, Rui Barradas <ruipbarra...@sapo.pt> wrote:
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@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






______________________________________________

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


        [[alternative HTML version deleted]]

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

Reply via email to