BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
acordes
Rhodochrosite | Level 12

Having a matrix X with say 100 rows and 10 columns I want to subset the matrix X2 by selecting rows 1 to 5 and rows 20 to 30.

 

PROC IML;

X=J(100,10,.);

CALL RANUNI(12345,X);

X2=X[1:5,]; /*WORKS*/

X2=X[{1:5 20:30},]; /*DOES NOT WORKS*/

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
IanWakeling
Barite | Level 11

you need to concatenate the two ranges together using '||'

 

X2=X[(1:5)||(20:30),];

View solution in original post

3 REPLIES 3
IanWakeling
Barite | Level 11

you need to concatenate the two ranges together using '||'

 

X2=X[(1:5)||(20:30),];
acordes
Rhodochrosite | Level 12

Thanks @IanWakeling. I was behind the || operator but I haven't used it correctly in terms of the brackets. 

 

 

Rick_SAS
SAS Super FREQ