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