Determine the log of a variable in any base
There are multiple logarithmic functions available to determine the log of a variable in SAS. The most used log functions are the natural and common log functions.
The natural LOG
function returns the natural (base e) logarithm.
data Ex1;
x=log(1);
put x=;
run;
In Example 1, with the input of 1, SAS returns the expected value of 0 and using Euler’s Number approximation of 2.71828, the result y is very close to 1.
You can use the CONSTANT
function that will return the value of a mathematical constant. For Euler’s Number, the notation is ‘E’. From reviewing the log using CONSTANT('E')
, the expected value of 1 is returned.
data Ex2;
x=constant('E');
y=log(constant('E'));
put x= y=;
run;
Output:
For the common log, the SAS function is LOG10. The LOG2 function returns the binary logarithm, or base 2.
Program to Determine the log of a variable in any base
You can compute the log of a variable in any base using the LOG function and the property.
logB(X)=log(X) / log10(B)
X is the variable whose log will be determined. B is the base of the log that will be determined and Y is the log, base b, of x.
data ex1;
b=6;
do i=1 to 10;
x=int(ranuni(12345)*100);
/* Y equals the LOG, base B, of X*/
y=LOG10(x)/LOG10(b);
output;
end;
run;
Output: