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]]
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 -- Daniel Nordlund Port Townsend, WA USA
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 >