PLease help correct this, I wish to do it by replicates. This is the code. The data set and error message is below. CODE proc iml; use Complete_1; read all var _all_ into DM; close; frequency =DM[,7]; y =DM[,6]; obs=DM[,10]; Censored= DM[,4]; time = DM[,3]; x =DM[,2];replicate=DM[,1]; use GIB_&p; read all var _all_ into Col; timeS=time; locC=loc(censored=1); matrix=J(1,7,2.10); do im = 1 to 1; u = unique(Replicate); byIdx = loc(replicate=u[im]); /* the UNIQUE-LOC trick */ byGroup = DM[byIdx,]; frequency =byGroup[,7]; y =byGroupDM[,6]; obs=byGroup[,5]; Censored= byGroup[,4]; time = byGroup[,3]; x =byGroup[,2];replicate=byGroup[,1]; do j= 1 to frequency[1]; seed=-1; A=RANUNI(-1); i=max(loc(Col[,j]-A>0)); if i<nrow(time) then /** do nothing if the last is censored, that is censored=1*****/ do; timeS[locC ] = time+ (time[i+ 1]-time)*((Col[i,j]-A)/(Col[i,j]+col[i+1,j])); end; end; sim=repeat(im,nrow(time),1); temp=obs||censored||time||Y||timeS||X||Sim||replicate; Matrix=matrix//temp; end; matrix=matrix[2:nrow(matrix),]; create impute_t_&p var{obs censored time Y timeS X replicate}; append from matrix; quit; ods trace on/listing; proc sort data=impute_t_&p; by replicate; run; variables: col1=DM[,8] frequency =DM[,7]; y =DM[,6]; obs=DM[,10]; Censored= DM[,4]; time = DM[,3]; x =DM[,2];replicate=DM[,1] 1 1 0 0.005959 1 0 2.19394 3 8.00000 2 1 0 0.005959 1 0 2.19394 3 7.11111 3 1 0 0.005959 1 0 2.19394 3 6.22222 4 1 0 0.006302 0 1 2.10653 3 5.33333 5 1 0 0.001931 0 1 2.10633 3 4.44444 6 1 0 0.001931 0 1 2.10633 3 3.55556 7 1 0 0.000076 0 1 2.09604 3 2.22222 8 1 0 0.011368 0 1 2.11672 3 1.55556 9 1 0 0.001074 0 1 2.10064 3 0.88889 10 1 0 0.001074 0 1 2.10064 3 0.00000 11 2 0 0.005959 1 0 2.19394 3 8.00000 12 2 0 0.013170 0 1 2.13512 3 7.00000 13 2 0 0.006302 0 1 2.10653 3 6.50000 14 2 0 0.006302 0 1 2.10653 3 6.00000 15 2 0 0.006302 0 1 2.10653 3 5.00000 16 2 0 0.001931 0 1 2.10633 3 4.00000 17 2 0 0.001931 0 1 2.10633 3 2.50000 18 2 0 0.000076 0 1 2.09604 3 1.75000 19 2 0 0.005171 1 0 2.14700 3 1.00000 20 2 0 0.004562 1 0 2.12766 3 0.00000 This code gives me error NOTE: IML Ready NOTE: Closing WORK.COMPLETE_1 ERROR: (execution) Matrices do not conform to the operation. operation : || at line 1966 column 139 operands : obs, censored, time, Y, timeS, X, Sim, replicate obs 10 rows 1 col (numeric) 1 1 1 1 1 1 1 0 1 1 censored 10 rows 1 col (numeric) 0 0 0 0 0 0 0 1 0 0 time 10 rows 1 col (numeric) 0.0119728 0.0119728 0.0119728 0.0000702 0.0071248 0.0071248 0.0017914 0.0079639 0.0066853 0.0066853 y 10 rows 1 col (numeric) 2.1234929 2.1234929 2.1234929 2.1003696 2.1255796 2.1255796 2.1055103 2.176416 2.1040166 2.1040166 timeS 20 rows 1 col (numeric) X 10 rows 1 col (numeric) 0 0 0 0 0 0 1 0 0 0 sim 10 rows 1 col (numeric) 1 1 1 1 1 1 1 1 1 1 Replicate 10 rows 1 col (numeric) 1 1 1 1 1 1 1 1 1 1
... View more