Hello ,
I want to create data "B" from data "A". That is , I want to keep only data with at least two time points;
Data a,
Input id timepoint;
Cards;
001 1
001 2
001 3
002 1
003 1
003 2
004 1
005 1
;
Run;
Data "B" is created from data "A". id 002 , 004 and 005 are dropped because they are just one time points.
Data B;
Input id timepoint;
Cards;
001 1
001 2
001 3
003 1
003 2
;
run;
You can use the NOUNIQUEKEY option on PROC SORT.
proc sort
data = sashelp.adomsg
out = duplicates
uniqueout = singles
nouniquekey;
by msgid;
run;
proc sql;
create table b as
select *
from a
group by id
having count(id)>1;
quit;
Thanks
You can use the NOUNIQUEKEY option on PROC SORT.
proc sort
data = sashelp.adomsg
out = duplicates
uniqueout = singles
nouniquekey;
by msgid;
run;
With datastep as well
data a2;
do until(last.id);
set a;
by id timepoint;
if first.id then count=1;
else count+1;
end;
do until(last.id);
set a;
by id timepoint;
if count>1 then output ;
end;
run;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.