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!
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.