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)

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

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