Matching numbers to a created variable

Accepted Solution Solved
Reply
Super Contributor
Posts: 297
Accepted Solution

Matching numbers to a created variable

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;


Accepted Solutions
Solution
‎11-08-2013 05:38 AM
Trusted Advisor
Posts: 1,128

Re: Matching numbers to a created variable

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

Thanks,
Jag

View solution in original post


All Replies
Solution
‎11-08-2013 05:38 AM
Trusted Advisor
Posts: 1,128

Re: Matching numbers to a created variable

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

Thanks,
Jag
Super Contributor
Posts: 297

Re: Matching numbers to a created variable

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;

.

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 198 views
  • 1 like
  • 2 in conversation