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-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

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
  • 314 views
  • 1 like
  • 2 in conversation