08liurenxing 发表于 2010-3-22 23:53
谢谢了,但是因为我导入的数据集是很大的,变量是X1-X10。而且观测值6百多个,虽然都是1.2.3.4。所以不能直接输入成X,有没有其他方法啊?
-
- DATA A;
- input x1 x2 x3 X4 X5;
- cards;
- 1 2 3 4 4
- 2 3 4 1 4
- 3 2 1 4 1
- 1 2 3 4 1
- ;
- %MACRO KK;
- DATA B;
- LENGTH Level 8;
- SET A END = Eof;
- ARRAY X{&Nvar};
- %DO I = 1 %TO 4; ARRAY X&I._{&Nvar}; %END;
- DO _N_ = 1 TO DIM(X);
- %DO I = 1 %TO 4; X&I._[_N_]+(X[_N_] = &I); %END;
- END;
- ARRAY _X{&Nvar};
- IF Eof THEN DO;
- %DO I = 1 %TO 4;
- Level = &I;
- DO _N_ = 1 TO &Nvar;
- _X[_N_] = X&I._[_N_];
- END;
- OUTPUT;
- %END;
- END;
- KEEP Level _X:;
- RUN;
- %MEND KK;
- %LET Nvar = 5;
- %KK
- ;
我是闲的无聊。楼上用FREQ是最好的方法。致敬。


雷达卡

京公网安备 11010802022788号







