BookmarkSubscribeRSS Feed
nj145
Calcite | Level 5

Hello everyone,

 

I am looking to perform a Cox proportional hazards model using Proc Phselect with LASSO for variable selection in SAS Viya for Learners. I am using a dataset consisting of 100 imputations and the following code:

 

proc phselect data=mycas.mydata;
   by _imputation_;
   class c_: o_: / param=ref ref=first;
   model Time*event(0) = C_: o_: n_:;
   selection method=lasso(choose=AIC stop=none) details=all;
run;

 

I received the following error message:

ERROR: SAS Internal Error. Number of 'groups' (11) exceeded maximum (10) allowed in the AIR Bridge.;

 

The error did not appear after making the following changes to include less than ten imputations:

proc phselect data=mydata (where=(_imputation_<=10));

 

I am looking to include all 100 imputations and not only 10 at a time, is there a way to do this in Viya for Learners?

 

Thanks in advance.

1 REPLY 1
pink_poodle
Barite | Level 11

Break dataset AIR into 10 chunks (_imputation 1-10, 11-20, 21-30, etc.) and feed them to a macro:

/*Define macro named
arbitrarily, e.g., "piggie" */
%macro piggie (chunk);
              %DO I = 1 %TO 10;
                         --- your code here ---
                         --- done on chunk&i ---
              %END;
%mend piggie;
/*Call macro piggie*/
%piggie(chunk1)
%piggie(chunk2)
...
%piggie(chunk10)

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 545 views
  • 1 like
  • 2 in conversation