HelloI want to merge these data with a macro.I also wish to create a variable call locate such that as it is stacking the data set ampute_1 - ampute_20; this variable that I will call "LOCATE" should be 1 for all all data from ampute_1, 2 for all data from
ampute_2 etc
THat is
Variable
X y Locate
1 2 1
3 2 1 {ampute_1}
3 1 1
2 2 2
1 4 2
4 1 2{ampute_2}
ETC
This is the code that need correction.
data impute_t_&p;
set ampute_1 - ampute_20;
if Sim lt 4 then delete;
run;
Please try the below code,
data ampute_1;
input X y;
cards;
1 2
3 2
3 1
;
data ampute_2;
input x y;
cards;
2 2
1 4
4 1
;
%macro test();
data ampute_final;
set
%do i = 1 %to 2;
ampute_&i(in=a&i)
%end;
;
%do i = 1 %to 2;
if a&i then locate=&i;
%end;
run;
%mend;
%test();
Thanks,
Jagadish
Please try the below code,
data ampute_1;
input X y;
cards;
1 2
3 2
3 1
;
data ampute_2;
input x y;
cards;
2 2
1 4
4 1
;
%macro test();
data ampute_final;
set
%do i = 1 %to 2;
ampute_&i(in=a&i)
%end;
;
%do i = 1 %to 2;
if a&i then locate=&i;
%end;
run;
%mend;
%test();
Thanks,
Jagadish
I want introduce u in this macro such that the last data should be by U:
.........
........
Matrix=matrix//temp;
end; matrix=matrix[2:nrow(matrix),];
create impute_tt_&u var{obs censored time Y timeS X sim };
append from matrix;
quit;
%end;
data impute_t_&p;;
set
%do u = 1 %to 5;
impute_tt_&u(in=a&u)
%end;
;
%do u = 1 %to 5;
if a&u then locate=&u;
%end;
run;
.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.