SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 780|回复: 3
打印 上一主题 下一主题

怎么得到三种输出的结果

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-8-25 23:14:13 | 只看该作者

怎么得到三种输出的结果

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

谢谢各位老大了。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2010-8-27 23:31:07 | 只看该作者

Re: 怎么得到三种输出的结果

谁知道啊,帮助下我吧
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2010-8-28 01:40:29 | 只看该作者

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;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2010-8-29 12:41:35 | 只看该作者

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
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-3 23:50 , Processed in 0.415992 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表