æ•°æ®ï¼š
A B C D E
2 3 4 . .
2 3 0 0 .
0 3 4 1 1
0 . 4 0 1
2 0 0 0 1
ç†æƒ³è¾“出:
A B C D E
2 3 4 1 1
2 3 0 0 1
0 3 4 1 1
0 3 4 0 1
2 0 0 0 1
对于æ¯åˆ—,åªæœ‰3个å¯èƒ½çš„值:任æ„整数,零和缺失值。
我想用相应列ä¸çš„éžé›¶å€¼æ›¿æ¢ç¼ºå¤±å€¼ã€‚
如果任æ„整数为零,则缺失值应替æ¢ä¸ºé›¶ã€‚
对于实际问题,行数和列数ä¸å°ã€‚
ç”案 0 :(得分:2)
创建两个数组 - 一个包å«åˆ—å,å¦ä¸€ä¸ªåŒ…å«å˜é‡ä»¥ä¿å˜ä»»æ„整数。循环é历数æ®é›†ä¸€æ¬¡ä»¥èŽ·å–整数(循环é历数组ä¸çš„列),然åŽå†æ¬¡è¾“出值,在必è¦æ—¶æ›¿æ¢ï¼ˆå†æ¬¡å¾ªçŽ¯é历数组ä¸çš„列)。
data want(drop=i int1-int5);
do until (eof);
set have end=eof;
array _col a--e;
array _int int1-int5;
do i = 1 to dim(_col);
if _col(i) not in (.,0) then _int(i)=_col(i);
end;
end;
do until (_eof);
set have end=_eof;
do i = 1 to dim(_col);
if missing(_col(i)) then _col(i)=_int(i);
end;
output;
end;
run;