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]] ______________________________________________ [hidden email] 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. |
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]] > > ______________________________________________ > [hidden email] 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 ______________________________________________ [hidden email] 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. |
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]] >> >> ______________________________________________ >> [hidden email] 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 > ______________________________________________ [hidden email] 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. |
Or a shorter version of Rui's approach:
set.seed(2511) # Make the results reproducible fun <- 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 <[hidden email]> 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]] >>> >>> ______________________________________________ >>> [hidden email] 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/posti >>> ng-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 >> >> > ______________________________________________ > [hidden email] 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/posti > ng-guide.html > and provide commented, minimal, self-contained, reproducible code. > [[alternative HTML version deleted]] ______________________________________________ [hidden email] 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. |
In reply to this post by R help mailing list-2
Hello,
Right. Missed that one. Rui Barradas Enviado a partir do meu smartphone Samsung Galaxy.-------- Mensagem original --------De: Eric Berger <[hidden email]> Data: 30/01/2018 10:12 (GMT+00:00) Para: Rui Barradas <[hidden email]> Cc: Daniel Nordlund <[hidden email]>, smart hendsome <[hidden email]>, [hidden email] 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 <[hidden email]> 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]] ______________________________________________ [hidden email] 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 ______________________________________________ [hidden email] 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]] ______________________________________________ [hidden email] 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. |
Free forum by Nabble | Edit this page |