I've scanned the SAS/IML® 13.2 User’s Guide (UG) and didn't find a list of of functions that operate on the columns of an NxM array, returning a 1XM vector of results.
So I made this list: CV KURTOSIS MEAN MEDIAN SKEWNESS STANDARD VAR
Did I miss any? Is this list somewhere in the UG?
Rick is absolutely right. But there are already some IML version of these function . Like :
x = {1 0,
2 1,
4 2,
8 3,
16 . };
kurt = kurtosis(x);
print kurt;
x = {5 1 10,
6 2 3,
6 8 5,
6 7 9,
7 2 13};
mean = mean(x);
print mean;
x = {1 3,
2 3,
4 9,
10 0};
med = median(x);
print med;
They are all column operation .
Xia Keshan
I assume you are primarily interested in descriptive statistics for each column. You can add the following functions:
COUNTMISS
COUNTN
COUNTUNIQUE
MAD
QNTL
QUARTILE
Also, subscript reduction operators enable you to perform columnwise operations:
SUM via x[+, ];
PROD via x[#, ];
MAX via x[<>, ];
MIN via x[><, ];
Index of maximum via x[<:>, ];
Index of minimum via x[>:<, ];
SSQ via x[##, ];
Rick -- thank you -- great reply -- this is exactly what I'm interested in.
BTW, I found QNTL last night going through your helpful tip sheet.
If I don't make a mistake, these data step function also could be applied to IML.
Check it at the bottom of IML documentation, you can find them all.
Ksharp
Message was edited by: xia keshan
Xia -- I'm not sure I understand -- can you provide an example(s)?
All of the DATA step function are applied elementwise. For example, if x is a matrix then y=sin(x) returns a matrix of the same size such that y[i,j] = sin(x[i,j]). The OP is asking about functions that operate on each column of an (n x p) matrix and produce a (1 x p) vector of results.
Rick is absolutely right. But there are already some IML version of these function . Like :
x = {1 0,
2 1,
4 2,
8 3,
16 . };
kurt = kurtosis(x);
print kurt;
x = {5 1 10,
6 2 3,
6 8 5,
6 7 9,
7 2 13};
mean = mean(x);
print mean;
x = {1 3,
2 3,
4 9,
10 0};
med = median(x);
print med;
They are all column operation .
Xia Keshan
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
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.