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 lock in 2025 pricing—just $495!
Register now
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
Submit your proposal!