## The ultimate crackpot iteration! [Two-Stage / GS Designs]

Hi Hötzi,

we are not on the same page. Again
I am not sure I get it all, but I think with this code you are calling the same shit over and over again and that is completely unnecessary.
In the beginning of everything, before you initiate the simulation, literally before you make use of the nsims object, you read out the assumed GMR and target power, and on basis of that you can define an array of critical CV's which you initialise with the correct values. Once and for all. Not for every call where you need a sample size.

Note that if you initialise the array of critical values with syntax such as
vecCritCVs<<- rep(0, 400)

or however many values you need then vecCV will be public (I think), due to "<<-".
You can then access the array of critical CV's from within the SampleN.Stg2 function.

We might end up with something like:

sampleN.Stg2.EM <- function(CV) {   #all other variable info is already accumulated thin the critical values, so:   Nps=1   while (vecCritCVs[Nps]<=CV) Nps=Nps+1   return(Nps*2)  }

Can you see what I mean now?

I could be wrong, but...
Best regards,
ElMaestro