Re: [R] Evaluate output after each rep()

From: Berton Gunter <gunter.berton_at_gene.com>
Date: Tue 07 Feb 2006 - 05:10:08 EST


Of course I assume that everyone realizes that the simulation estimates (1 - dbinom(100,200,p=.5))^6000. The loge of this quantity is -348, btw. So this is trivially computable, but I assume that this is an exercise of some sort.

> -----Original Message-----
> From: r-help-bounces@stat.math.ethz.ch
> [mailto:r-help-bounces@stat.math.ethz.ch] On Behalf Of
> Adaikalavan Ramasamy
> Sent: Monday, February 06, 2006 9:35 AM
> To: macmanes@berkeley.edu
> Cc: r-help@stat.math.ethz.ch
> Subject: Re: [R] Evaluate output after each rep()
>
> I do not fully understand what you mean by "stop". If you
> mean terminate
> the whole function, then something like
>
> sim <- function(nn, mustExist=100){
>
> for (ii in 1:nn){
> ee <- rep(rbinom(6000, 200, .5), ii)
>
> if( any(ee!=mustExist) )
> stop( paste("Iteration", ii, "did not contain", mustExist,
> ". Terminating function \n") )
> }
>
> ## Do something further ##
> }
>
>
> But generally, I want to just resample again till I get the
> desired length.
>
> sim <- function(nn, mustExist=100){
>
> counter <- 0; ii <- 1
>
> while( counter <= nn ){
>
> ee <- rep(rbinom(6000, 200, .5), ii)
>
> if( any(ee!=mustExist) ){
> warning(paste( "Iteration", ii, "did not contain",
> mustExist,
> ". Resampling again\n") )
> } else {
> counter <- counter + 1
> ii <- ii + 1
> ## Do something further ##
> }
> }
> }
>
> You can turn off the branch that returns the warnings if it
> gets annoying.
>
> BTW, why do you want to use rep(.., ii) ?
>
> Regards, Adai
>
>
>
>
> If you want to count how many times out
>
>
>
> On Mon, 2006-02-06 at 09:03 -0800, Matthew MacManes wrote:
> > Hi R-Help,
> >
> > I'm trying a develop a test simulation where i evaluate the
> probability
> > of not getting a value of 100 from the function
> rbinom(6000, 200, .5)
> > [indeed, a very small probability]. At the end of each
> rep, I would
> > like to evaluate the output, continue with the loop if the output
> > contains the value 100, stop if the output lacks a 100.
> >
> > How do I get R to evaluate the output after each rep?
> >
> >
> > >sim <- function(nn){
> > > for (ii in 1:nn){
> > > ee=rep(rbinom(6000, 200, .5), ii)
> > > if (any(ee==100))
> > > }
> >
> > Thanks,
> > Matt MacManes
> > ********************************************************
> > Matthew D. MacManes
> > PhD Student
> > UC- Berkeley
> > Department of Integrative Biology
> > Museum of Vertebrate Zoology
> > 3101 VLSB #3140
> > Berkeley, CA 94720
> > (510)642-7782
> > EMAIL: macmanes@berkeley.edu
> > WEBSITE: http://ib.berkeley.edu/labs/lacey/
> >
> > ______________________________________________
> > R-help@stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
> >
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Tue Feb 07 05:18:18 2006

This archive was generated by hypermail 2.1.8 : Tue 07 Feb 2006 - 08:37:12 EST