Hi,
I am wondering how far SAS can be used for mathematical calculations. Is there some way to use SAS for such operations like:
a) 1/0 = infinity
0/0 =NaN (not a number)
b) Somehow solving formulas. For example like in MatLab finding differential:
diff(X^3)
ans=3X^2
Sometimes it seems that SAS is a super-tool with all included J Or maybe this is an area where SAS can’t be used?
Ieva
a) SAS uses missing values to represent NaNs. In statistics, an observation can be a NaN if it is missing for a statistical reason (for example, a survey question was left unanswered) or for a mathematical reason (the log of a non-positive number). SAS supports 28 missing values: see http://analytics.ncsu.edu/sesug/2005/TU06_05.PDF for details.
Some people assign the .P missing value to mean "positive infinity" and .N to mean "negative infinity," but most don't. To me a NaN is a NaN.
b) MATLAB licenses (or bought?) the Maple symbolic algebra engine. No, SAS does not include symbolic integration or differentiation. Some SAS procedures support automatic differentiation in order to compute the gradients and Jacobians of objective functions, but that feature is not universal.
a) SAS uses missing values to represent NaNs. In statistics, an observation can be a NaN if it is missing for a statistical reason (for example, a survey question was left unanswered) or for a mathematical reason (the log of a non-positive number). SAS supports 28 missing values: see http://analytics.ncsu.edu/sesug/2005/TU06_05.PDF for details.
Some people assign the .P missing value to mean "positive infinity" and .N to mean "negative infinity," but most don't. To me a NaN is a NaN.
b) MATLAB licenses (or bought?) the Maple symbolic algebra engine. No, SAS does not include symbolic integration or differentiation. Some SAS procedures support automatic differentiation in order to compute the gradients and Jacobians of objective functions, but that feature is not universal.
Yes. SAS has already offer such function. About detail ,refer to documentation.
data have; input a b; div=divide(a,b); cards; 1 0 0 0 0 1 1 . 0 1 . 1 ; run; proc print;run;
Ksharp
Thank you Rick and Ksharp for the explanations!
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 16. Read more here about why you should contribute and what is in it for you!
Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.
Find more tutorials on the SAS Users YouTube channel.