turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

Topic Options

- RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-18-2015 11:09 AM

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?

Accepted Solutions

Solution

05-20-2015
09:14 AM

- Mark as New
- Bookmark
- Subscribe
- RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to stevo642

05-20-2015 09:14 AM

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

All Replies

- Mark as New
- Bookmark
- Subscribe
- RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to stevo642

05-19-2015 08:44 AM

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[##, ];

- Mark as New
- Bookmark
- Subscribe
- RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to Rick_SAS

05-19-2015 09:20 AM

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**.

- Mark as New
- Bookmark
- Subscribe
- RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to stevo642

05-19-2015 09:53 AM

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

- Mark as New
- Bookmark
- Subscribe
- RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to Ksharp

05-19-2015 11:44 AM

Xia -- I'm not sure I understand -- can you provide an example(s)?

- Mark as New
- Bookmark
- Subscribe
- RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to Ksharp

05-19-2015 01:09 PM

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.

Solution

05-20-2015
09:14 AM

- Mark as New
- Bookmark
- Subscribe
- RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to stevo642

05-20-2015 09:14 AM

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