Help using Base SAS procedures

Working with Duplicates

Reply
Contributor
Posts: 27

Working with Duplicates

Hi,
I have a file with id's and activity:
id activity
1 2
1 5
2 1
3 2
4 1
4 4

What i want to do is create a dataset with the sum of the activity by ids (just want unique ids) so it'd look like the following:
id activity
1 7
2 1
3 2
4 5

Thanks all for your help!
Contributor
Posts: 22

Re: Working with Duplicates

Here's one possible solution:
[pre]data orig;
input id activity;
datalines;
1 2
1 5
2 1
3 2
4 1
4 4
run;


proc sort data=orig out=orig_srt;
by id;
run;


proc summary data=orig_srt;
by id;
var activity;
output out=orig_sum(drop=_type_ _freq_)
sum=;
run;


proc print data=orig_srt;
run;[/pre]
Frequent Contributor
Posts: 81

Re: Working with Duplicates

Using proc sql:

proc sql;
create table orig2 as select id,sum(activity) as activity from orig group by id order by id;
quit;
Super User
Posts: 11,343

Re: Working with Duplicates

Or modified approach using CLASS statement instead of BY. This doesn't require input data to be sorted.

proc summary data=orig_srt nway;
class id;
var activity;
output out=orig_sum(drop=_type_ _freq_) sum=;
run;
Ask a Question
Discussion stats
  • 3 replies
  • 993 views
  • 0 likes
  • 4 in conversation