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-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

SAS Training: Just a Click Away

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

Browse our catalog!

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