An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20130326/83655622/attachment.pl>
NaNS Error Message
5 messages · Blaser Nello, Berend Hasselman, Sahana Srinivasan +1 more
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 :)
______________________________________________
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
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20130326/6a82d334/attachment.pl>
Hi If you can not share information you need to solve your problems yourself. you can trace code by some print statements sn<-(S-n);snfact<-gamma(sn); print(sn) or use ?debug as Sarah pointed out, n is probably greater than 100 and in that case gamma(sn) results in NaN. Regards Petr
-----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r- project.org] On Behalf Of Sahana Srinivasan Sent: Tuesday, March 26, 2013 4:52 PM To: Berend Hasselman Cc: r-help at r-project.org Subject: Re: [R] NaNS Error Message Hi, sorry I can't provide the reproducible code - the formula is currently being worked on for a research paper so I can't really give out details in that regard. That being said, k is initialized to 1 at the beginning of the loop. n has various values (whole numbers, 0 or greater, no upper limit). On Tue, Mar 26, 2013 at 3:41 PM, Berend Hasselman <bhh at xs4all.nl> wrote:
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
[[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.