Hi, I'm using R to do a series of calculation and I have gotten several warnings that say "NaNS produced". Whatever I could read on line gives me an idea that this warning is produced when the number is use is a negative log or otherwise mathematically problematic. I'm getting this error while using factorial() and gamma () on strictly positive numbers (always greater than zero). Here is a snippet of my code: k goes from 1 to a positive limit. S is always 100. Only positive values of n are allowed into the loop. if(n>0) { while(k<=lim) { sn<-(S-n);snfact<-gamma(sn); sn2<-(2-n+S);sn2gam<-gamma(sn2); num<-(ngam*sn2gam); nk2<-(2+k-(2*n)+S); nk2gam<-gamma(nk2); den<-(k*nk2gam); prob<-(num/den); sum<-(as.numeric((k*prob))+sum); k<-k+1; } } The error message received for every instance of this loop is : In gamma(sn) : NaNs produced In gamma(sn2) : NaNs produced In gamma(nk2) : NaNs produced Where am I going wrong? Thanks for your help :) [[alternative HTML version deleted]]
Only positive values of n are allowed into the loop... More importantly, is n ever larger than 52??? Because that results in nk2<0 (for k=1) and undefined gamma(nk2). Same goes for sn, if n>100. Next time you may also want to write a reproducible example! -----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Sahana Srinivasan Sent: Dienstag, 26. M?rz 2013 16:25 To: r-help at r-project.org Subject: [R] NaNS Error Message Hi, I'm using R to do a series of calculation and I have gotten several warnings that say "NaNS produced". Whatever I could read on line gives me an idea that this warning is produced when the number is use is a negative log or otherwise mathematically problematic. I'm getting this error while using factorial() and gamma () on strictly positive numbers (always greater than zero). Here is a snippet of my code: k goes from 1 to a positive limit. S is always 100. Only positive values of n are allowed into the loop. if(n>0) { while(k<=lim) { sn<-(S-n);snfact<-gamma(sn); sn2<-(2-n+S);sn2gam<-gamma(sn2); num<-(ngam*sn2gam); nk2<-(2+k-(2*n)+S); nk2gam<-gamma(nk2); den<-(k*nk2gam); prob<-(num/den); sum<-(as.numeric((k*prob))+sum); k<-k+1; } } The error message received for every instance of this loop is : In gamma(sn) : NaNs produced In gamma(sn2) : NaNs produced In gamma(nk2) : NaNs produced Where am I going wrong? Thanks for your help :) [[alternative HTML version deleted]] ______________________________________________ R-help at r-project.org mailing list 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 26-03-2013, at 16:25, Sahana Srinivasan <sahanasrinivasan.91 at gmail.com> wrote:> Hi, > I'm using R to do a series of calculation and I have gotten several > warnings that say "NaNS produced". Whatever I could read on line gives me > an idea that this warning is produced when the number is use is a negative > log or otherwise mathematically problematic. > I'm getting this error while using factorial() and gamma () on strictly > positive numbers (always greater than zero). > Here is a snippet of my code: > k goes from 1 to a positive limit. > S is always 100. > Only positive values of n are allowed into the loop. > > if(n>0) > { > while(k<=lim) > { > > sn<-(S-n);snfact<-gamma(sn); > sn2<-(2-n+S);sn2gam<-gamma(sn2); > > num<-(ngam*sn2gam); > > > nk2<-(2+k-(2*n)+S); > nk2gam<-gamma(nk2); > den<-(k*nk2gam); > prob<-(num/den); > > sum<-(as.numeric((k*prob))+sum); > > k<-k+1; > } > } > > The error message received for every instance of this loop is : > In gamma(sn) : NaNs produced > In gamma(sn2) : NaNs produced > In gamma(nk2) : NaNs produced >This not reproducible code. Where is ngam? Where is k set to 1? What value does n have? Berend
Reasonably Related Threads
- Printing output together
- Re: drive-backup command permission denied.. and need some clarification
- drive-backup command permission denied.. and need some clarification
- Efficient live disk backup with active blockcommit : Failed 'block-commit': Could not reopen file: Permission denied
- R2BayesX help