Hi,
Can anyone help the calculation of Y below using SAS code?
Y=A*(B)-1+ A*(B)-2 + A*(B)-3 + A*(B)-4 +……+ A*(B)-N
Thanks a lot!
Within a DATA step, and assuming you have variables A, B, and N:
y=0;
do k=1 to n;
y + a*b**(-k);
end;
If B is actually an expression rather than a variable, put it in parentheses:
y + a*(b)**(-k);
Or this, which should be faster:
u = 0;
v = 1/b;
do k = 1 to n;
u = (1 + u) * v;
end;
y = a*u;
Thanks for you both for providing the answer, much appreciated! PG Stats, since the power is negative, should the sas code be revised?
as u = 0;
v = 1/b;
do k = -1 to -n; u = (1 + u) * v; end;
y = a*u;
Thanks and regards.
No. k is only a counter, not the exponent. The exponent comes from the number of multiplications by v (= 1/b, = b**-1), i.e. the negative exponent results from multiplying by a negative power of b.
Thanks again, PG Stats!!
Thanks! How about if N has one decimal place, e.g. 14.1?
What is the first term in the equation if N has one decimal place?
In the equation, everything is the same, only if N is not an integer, the example is below and I need to calculate for each record (Y1........YN)
Y1=A*(B)-1+ A*(B)-2 + A*(B)-3 + A*(B)-4 +……+ A*(B)-10.2
Y2=A*(B)-1+ A*(B)-2 + A*(B)-3 + A*(B)-4 +……+ A*(B)-20.3
…….
YN=A*(B)-1+ A*(B)-2 + A*(B)-3 + A*(B)-4 +……+ A*(B)-N.5
Not clear. What is the term before the last?
Thanks very much, PG!
the term before the last is: A*(B)-N+1
For example,
Y1=A*(B)-1+ A*(B)-2 + A*(B)-3 + A*(B)-4 +……+ A*(B)-9 +A*(B)-10.2
When I run the above sas code, the decimal 0.2 from the last term is missing.
sorry, it is not -N+1, it should be integer -N+1, for example if N is 10.2, then the term before the last one should be A*(B)-9 , not 9.2.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.