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

- Home
- /
- SAS Programming
- /
- SAS Studio
- /
- Counting the number of occurrence of a variable in...

Topic Options

- Subscribe to 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
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

a month ago

I'm on SAS University Edition - I have a data set with 792 rows and 29 columns; each column is a variable with value "0" or "1". I would like to make a table with 792 rows and a single column, with the value of the single column being the number of "1"s in the corresponding observation.

For example:

varA varB varC varD

1 1 0 1

0 0 0 1

1 1 1 0

1 1 1 1

0 0 0 0

1 0 1 0

output:

3

1

3

4

0

2

Sorry if this is a basic question - I've new to SAS, and have looked around the forums and the internet without finding anything that has worked for me. Much thanks!!

Accepted Solutions

Solution

4 weeks ago

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

a month ago

I'm thinking that your real variable names don't all begin with "var". If you want the sum of all numeric variables, you could use:

data want;

set have;

new_column = sum(of _numeric_);

run;

There's not much point in putting this new column into a separate data set. Once you do that, if you were to ever sort your data you couldn't match the new column back to the row that it came from.

All Replies

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

a month ago

data want (keep=sum); set have; array vars(*) varA--VarD; sum=sum(of vars(*)); run;

Art, CEO, AnalystFinder.com

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

a month ago

this should work

data want(drop=var:); set have; finalvar=sum(of var:); run;

Solution

4 weeks ago

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

a month ago

I'm thinking that your real variable names don't all begin with "var". If you want the sum of all numeric variables, you could use:

data want;

set have;

new_column = sum(of _numeric_);

run;

There's not much point in putting this new column into a separate data set. Once you do that, if you were to ever sort your data you couldn't match the new column back to the row that it came from.

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

4 weeks ago

Thanks, all! Looks like there a couple of ways to do this - I appreciate the help.