DATA Step, Macro, Functions and more

Simplify an algebraic equation

Reply
Occasional Contributor
Posts: 8

Simplify an algebraic equation

[ Edited ]

Hi All,

is possible to simplify algebric equation?

I have a character variable with a equation:

"x+2+5+2x+3"

I would create a new variable

"3x+10"

 

 

Super User
Posts: 23,237

Re: Simplify Equation

What is the question you need help with then?

 

You can find basic tutorials here:

http://video.sas.com/category/videos/sas-analytics-u

 

Including this one on creating new variables:

http://video.sas.com/detail/videos/sas-analytics-u/video/4573023399001/creating-a-new-column-in-sas?...

 


@cosimodc wrote:

Hi All,

is possible to simplify algebric equation?

I have a character variable with a equation:

"x+2+5+2x+3"

I would create a new variable

"3x+10"

 

 


 

 

In this video, you learn to create a new variable with Base SAS. You see how to create and modify numeric and character variables using assignment statements in a DATA step. For more tutorials, visit http://support.sas.com/training/tutorial. Learn more about this topic in the SAS® course, SAS ...
Occasional Contributor
Posts: 8

Re: Simplify Equation

I want to minimize length a variable which contains a equation.

For example:

data test;

a=x+3x+5x+10*2+4x+10x+x**2+20x;

run;

 

data new;

b=x**2+43x+20;

run;

 

Is possible?

 

Super User
Posts: 13,293

Re: Simplify Equation


@cosimodc wrote:

I want to minimize length a variable which contains a equation.

For example:

data test;

a=x+3x+5x+10*2+4x+10x+x**2+20x;

run;

 

data new;

b=x**2+43x+20;

run;

 

Is possible?

 


Possible yes.

How much experience to you have writing compilers that parse code? Which is in effect what you are requesting. You would have to specify exactly every type of function and the reduction rule and I am afraid that  introducing () in to the equations means the logic is going to be extremely complex.

Consider

((x+3x+5x+10)*2+4x+10x+x)**2+20x

 

How are you using these things such that the length is a critical issue?

Super User
Posts: 23,237

Re: Simplify Equation

I probably woudn't use SAS for that. Wolfram Alpha can do that and I *think* it has an API call, but it may be a paid service.

SAS Super FREQ
Posts: 4,171

Re: Simplify Equation

As someone mentioned, SAS is primarily a numerical language. If you are looking for symbolic computations such as simplifying an algebraic expression, Wolfram Alpha or other symbolic software would be a better choice. 

 

If you want to find the value of x that minimizes or maximizes an expression, then you are solving an optimization problem, and SAS has many ways to numerically optimize equations, including PROC NLIN and NLMIXED (SAS/STAT), PROC IML (SAS/IML), and PROC OPTMODEL (SAS/OR). 

 

 

Ask a Question
Discussion stats
  • 5 replies
  • 103 views
  • 1 like
  • 4 in conversation