Hi, Erik, I used the verbatim code to display N, PY and PRN as following: N PY PRN 41.000000000000000 2.7671611818342951E-002 0.49276963297266801 43.000000000000000 2.7591659225047215E-002 0.54805960633167350 36.000000000000000 2.5616752954880914E-002 0.35729249248958578 30.000000000000000 1.9915741290055054E-002 0.21661535130662532 37.000000000000000 2.6267270860777087E-002 0.38355976335036285 22.000000000000000 1.0867759499611255E-002 8.9478694580212931E-002 55.000000000000000 1.8084583253195025E-002 0.82941264157082595 71.000000000000000 3.4957267809518117E-003 0.97907873491882547 ^C So, both PY (EXP(-X)) and PRN are not too small to calculate. I also used Excel to calculate PY PRN values with N increasing from 1 to 90. The results are the same as above. Thank you.
Yucheng Sheng Research Associate School of Pharmacy, UCL On 30 July 2014 11:57, <e.olof...@lumc.nl> wrote: > Hi Gerry, > > EXP(-X) might become such a small number that PRN no longer increases. For > example, 0.5+S is represented as 0.5 for small S. Using verbatim code (see > nmhelp) you could print N, PY and PRN to see if something like this occurs. > > Best regards, > > Erik > ------------------------------ > *From:* owner-nmus...@globomaxnm.com [owner-nmus...@globomaxnm.com] on > behalf of Gerry Sheng [shen...@gmail.com] > *Sent:* Wednesday, July 30, 2014 10:40 AM > > *Cc:* nmusers > *Subject:* Re: [NMusers] Simulation problem of normal distributed data > > Dear Goyal, > > Thank you for your advice. I changed the second seed to 17545, but the new > cutoff number of records is 1498 . If data records>1498, the same problem > still exists. > > Best wishes, > Yucheng Sheng > Research Associate > School of Pharmacy, UCL > > > On 29 July 2014 23:25, Navin Goyal <navingo...@gmail.com> wrote: > >> Hi Sheng, >> I don't know the exact reason behind such mysterious behavior but if you >> just change the seed number (the UNIFORM seed) it works. >> e.g. I changed the seed# from 7545 to 17545 and was able to simulate >> 1000 rows for the subject. >> >> $SIMULATION (6446) (*1*7545 UNIFORM) ONLYSIM NOPRED SUB=1 >> >> Its a rare occurrence but may be the seed number caused some issue >> (while generating sufficient samples to satisfy the constraints you set up >> using the DOWHILE LOOP). For example I think the same seed number (7545) may >> work when the DOWHILE condition is reversed >> (RL .*LT*. PRN) however it may not be appropriate based on your problem. >> .......or may be there is some other explanation to such occurrence. >> >> Kind regards >> Navin Goyal >> >> >> >> >> >> >> On Tue, Jul 29, 2014 at 10:54 AM, Gerry Sheng <shen...@gmail.com> wrote: >> >>> Dear NMuser, >>> >>> I encountered a strange problem when I used the following code to >>> simulate normal distributed data. When the data records >797, no result >>> appears with NONMEM run into an infinite loop . But when the records >>> decreasing to 796 (delete the last row), the results will occurred >>> immediately. Anyone else met this phenomenon? Any comments and suggestions >>> are appreciated. Thank you in advance. >>> >>> $PROBLEM PD >>> $INPUT ID,CONC,DV >>> $DATA data.csv IGNORE=@ ; >>> >>> $PRED >>> NMEAN=THETA(1)+ETA(1) >>> SD=THETA(2) >>> >>> ;Simulate count >>> IF (ICALL.EQ.4) THEN >>> N=0 >>> PRN=0 >>> CALL RANDOM(2, R) >>> RL=1-R >>> DO WHILE (RL .GT. PRN) >>> LNNOR=LOG(6.283185)+2*LOG(SD)+((N-NMEAN)/SD)**2 >>> PY=EXP(-0.5*LNNOR) >>> PRN=PRN+PY >>> IF (PRN .LT. RL) N=N+1 >>> ENDDO >>> DV=N >>> ENDIF >>> >>> $THETA >>> (30,41.7,60) ;MEAN >>> (2,14.4,50) ;SD >>> >>> $OMEGA >>> 0 FIX ;MEAN >>> >>> $SIMULATION (6446) (7545 UNIFORM) ONLYSIM NOPRED SUB=1 >>> $TABLE ID TIME DV ONEHEADER NOPRINT FILE=npctab1.dta >>> >>> data.csv like this >>> ID CONC DV >>> 1 0 . >>> 1 0 . >>> 1 0 . >>> 1 0 . >>> 1 0 . >>> 1 0.01 . >>> 1 0.01 . >>> 1 0.01 . >>> 1 0.01 . >>> 1 0.01 . >>> ..... >>> >>> Yucheng Sheng >>> >>> Research Associate >>> School of Pharmacy, UCL >>> >> >> >> >> -- >> Navin Goyal >> > >