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*/
you need to concatenate the two ranges together using '||'
X2=X[(1:5)||(20:30),];
View solution in original post
Thanks @IanWakeling. I was behind the || operator but I haven't used it correctly in terms of the brackets.
For more on extracting submatrices, see "Extracting elements from a matrix: rows, columns, submatrices, and indices"
April 27 – 30 | Gaylord Texan | Grapevine, Texas
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 save with the early bird rate—just $795!
Register now