SAS中文论坛

标题: 怎么得到三种输出的结果 [打印本页]

作者: shiyiming    时间: 2010-8-25 23:14
标题: 怎么得到三种输出的结果
var1     --------输入
3
4
5
6


var1 var2     -------输出1:
3       a
  3       b
  4       a
  4       b
  5       a
  5       b
  6       a
  6       b


var1     --------输入2
3
a
b
4
a
b
5
a
b
6
a
b


var1        var2        var3
3        a        b
4        a        b
5        a        b
6        a        b

谢谢各位老大了。
作者: shiyiming    时间: 2010-8-27 23:31
标题: Re: 怎么得到三种输出的结果
谁知道啊,帮助下我吧
作者: shiyiming    时间: 2010-8-28 01:40
标题: Re: 怎么得到三种输出的结果
data crackman;
input x $ @@;
datalines;
3 4 5 6
;
run;
data output1(drop=i);
do i=1 to 2;
set crackman;
y='a';output;
y='b'; output;
end;
run;
proc sort data=output1;
by x y;
run;
data output3(drop=i y);
do i=1 to 2;
set output1;
by x;
array s(2) $ s1-s2;
s(i)=y;
end;
output;
run;
data output2;
set output3(keep=s2 rename=(s2=x)) output3(keep=s1 rename=(s1=x)) output3(keep=x);
run;
作者: shiyiming    时间: 2010-8-29 12:41
标题: Re: 怎么得到三种输出的结果
请教一下,
data output1(drop=i);
do i=1 to 2;
set crackman;
y='a';output;
y='b'; output;
end;
run;

我去掉程序中的do i=1 to 2; 和end;就能得到所要的记过,是否这里不需要用DO END,还有do i=1 to 2 放在 set crackman; 前和放在它之后有什么区别啊?谢谢CRACKMAN




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2