I'm also trying to do this. I've added read all var _all_ into x; to read the THC dataset into a matrix as below, how I'm getting the following errors: 1 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK; 72 73 proc iml; NOTE: IML Ready 74 use THC; 75 reset print; 76 read all var _all_ into x; 77 eig=eigval(x); ERROR: (execution) Matrix should be square. operation : EIGVAL at line 77 column 11 operands : x x 178 rows 14 cols (numeric) statement : ASSIGN at line 77 column 1 78 e_vec=eigvec(x); ERROR: (execution) Matrix should be square. operation : EIGVEC at line 78 column 13 operands : x x 178 rows 14 cols (numeric) statement : ASSIGN at line 78 column 1 79 CI_1_lower=eig[1]/(1+1.645*sqrt(2/178)); ERROR: (execution) Matrix has not been set to a value. proc iml; use THC; reset print; read all var _all_ into x; eig=eigval(x); e_vec=eigvec(x); CI_1_lower=eig[1]/(1+1.645*sqrt(2/178)); CI_1_upper=eig[1]/(1-1.645*sqrt(2/178)); CI_2_lower=eig[2]/(1+1.645*sqrt(2/178)); CI_2_upper=eig[2]/(1-1.645*sqrt(2/178)); CI_3_lower=eig[3]/(1+1.645*sqrt(2/178)); CI_3_upper=eig[3]/(1-1.645*sqrt(2/178)); CI_4_lower=eig[4]/(1+1.645*sqrt(2/178)); CI_4_upper=eig[4]/(1-1.645*sqrt(2/178)); CI_5_lower=eig[5]/(1+1.645*sqrt(2/178)); CI_5_upper=eig[5]/(1-1.645*sqrt(2/178));
... View more