s******d 发帖数: 501 | 1 有一个data里面variable大概有30-40个,有什么办法能够在SAS里面快速的删除掉所有
在任何variable里有missing值的数据吗?多谢各位! |
l******m 发帖数: 111 | 2 DATA A;
INPUT A1 A2 A3 A4 A5 A6 B1 $ B2 $ B3 $ B4 $ B5$ B6 $;
CARDS;
1 2 3 4 5 6 A B C D E F
1 . 1 1 1 1 A B C E I F
2 3 4 5 6 7 8 R 4 R W R
1 2 3 4 5 6 7 F . R R 4
;
RUN;
DATA B;
SET A;
ARRAY NUM[*] _NUMERIC_;
ARRAY CHAR[*] _CHARACTER_;
DO I=1 TO DIM(NUM);
IF NUM[I]=. THEN DELETE;
END;
DO J = 1 TO DIM(CHAR);
IF CHAR[J] = ' ' THEN DELETE;
END;
DROP I J;
RUN; |
l******m 发帖数: 111 | 3 或者你也可以用nmiss和cmiss 函数
DATA B;
SET A;
ARRAY NUM[*] _NUMERIC_;
ARRAY CHAR[*] _CHARACTER_;
IF NMISS(OF NUM[*]) THEN DELETE;
IF CMISS(OF CHAR[*]) THEN DELETE;
RUN; |
s******d 发帖数: 501 | |
m*******1 发帖数: 855 | 5 哈。居然看明白了,欢迎这样的帖子,可以学到很多东西。 |
w*******n 发帖数: 469 | 6 no need array here, just
if cmiss(_all_)-1 then delete; |
l****u 发帖数: 529 | |