Please, How do I fix this;
proc iml;
use Complete;
read all var _all_ into DM;
close;
frequency =DM[,5]; y =DM[,4]; status=DM[,3]; Censored= DM[,2]; time = DM[,1];
use GIB;
read all var _all_ into Col;
timeS=time;
locC=loc(censored=1); matrix=J(1,6,-99);
do im=1 to 25;
do j= 1 to frequency[1];
A=RANUNI(-1);
i=max(loc(Col[,j]-A>0));
timeS[locC
end; sim=repeat(im,nrow(time),1);
temp=status||censored||time||Y||timeS||sim;
Matrix=matrix//temp;
end; matrix=matrix[2:nrow(matrix),];
create impute_t var{status censored time Y timeS sim};
append from matrix;
quit;
843 proc iml;
NOTE: IML Ready
844 use Complete;
845 read all var _all_ into DM;
846 close;
NOTE: Closing WORK.COMPLETE
847 frequency =DM[,5];
847! y =DM[,4];
847! status=DM[,3];
847! Censored= DM[,2];
847! time = DM[,1];
848 use GIB;
849 read all var _all_ into Col;
850 timeS=time;
851 locC=loc(censored=1);
851! matrix=J(1,6,-99);
852 do im=1 to 25;
853
854 do j= 1 to frequency[1];
855 A=RANUNI(-1);
856 i=max(loc(Col[,j]-A>0));
857 timeS[locC
858 end;
858! sim=repeat(im,nrow(time),1);
859 temp=status||censored||time||Y||timeS||sim;
860 Matrix=matrix//temp;
861 end;
ERROR: (execution) Invalid subscript or subscript out of range.
operation : [ at line 857 column 35
From your error message, in the statement;
857 timeS[locC
the subscript in time[i+1] exceeds the dimension of time vector. This would happend if col[i,j] > A for some i >= the number of rows in time. You can add some print statements in the loop to see exactly what is happening, and then you will need to figure out how to handle that case, if it is legitimate.
From your error message, in the statement;
857 timeS[locC
the subscript in time[i+1] exceeds the dimension of time vector. This would happend if col[i,j] > A for some i >= the number of rows in time. You can add some print statements in the loop to see exactly what is happening, and then you will need to figure out how to handle that case, if it is legitimate.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.
Find more tutorials on the SAS Users YouTube channel.