Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Home
- /
- Programming
- /
- SAS Procedures
- /
- Formula calculation

Options

- RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Posted 03-24-2018 06:08 PM
(1731 views)

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!

11 REPLIES 11

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

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);

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Or this, which should be faster:

```
u = 0;
v = 1/b;
do k = 1 to n;
u = (1 + u) * v;
end;
y = a*u;
```

PG

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

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.

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

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.

PG

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Thanks again, PG Stats!!

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Thanks! How about if N has one decimal place, e.g. 14.1?

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

What is the first term in the equation if N has one decimal place?

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

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 (Y_{1}........Y_{N})

Y_{1}=A*(B)^{-1}+ A*(B)^{-2} + A*(B)^{-3} + A*(B)^{-4} +……+ A*(B)^{-10.2}

Y_{2}=A*(B)^{-1}+ A*(B)^{-2} + A*(B)^{-3} + A*(B)^{-4} +……+ A*(B)^{-20.3}

^{…….}

Y_{N}=A*(B)-1+ A*(B)-2 + A*(B)-3 + A*(B)-4 +……+ A*(B)^{-N.5}

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Not clear. What is the term before the last?

PG

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Thanks very much, PG!

the term before the last is: A*(B)^{-N+1 }

For example,

Y_{1}=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.

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

^{-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!

What is Bayesian Analysis?

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.