SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

12
返回列表 发新帖
楼主: shiyiming
打印 上一主题 下一主题

帮我用SAS编个小程序好吗?

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
11#
 楼主| 发表于 2004-7-23 09:46:11 | 只看该作者

结果在数据sumrc里

data tem;
input x r v;
cards;
1 0.164609053 193128
1 0 6090
1 0.164338537 15220
-1 0 29856
-1 -0.082034454 163960
1 -0.082101806 56046
1 0.164338537 35945
-1 0 14616
-1 -0.410172272 191044
1 0.082372323 7904
1 -0.329218107 27274
1 0.330305533 98514
-1 -0.24691358 99294
-1 -0.082508251 38140
-1 -0.165152766 18756
;
run;
data new;
set tem;
if _n_>1 & lag(x)^=x then do;
flag+1;
end;
run;
proc means data=new ;
var r v;
id x;
by flag;
output out=sumrc sum=sumr sumv;
run;
data sumrc;
set sumrc;
drop _type_ _freq_ flag;
run;
<!-- s:shock: --><img src="{SMILIES_PATH}/icon_eek.gif" alt=":shock:" title="Shocked" /><!-- s:shock: -->
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
12#
 楼主| 发表于 2004-7-23 10:22:08 | 只看该作者

;)

谢谢各位热情相助~原来jiagangw已经给出了程序,因为是在第二页,开始没有看到,不好意思!jiagangw的程序给出的结果非常理想!只是又碰到了一个问题,得到了结果,我不知道怎么将数据转换成excel表格的形式!?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
13#
 楼主| 发表于 2004-7-23 18:56:11 | 只看该作者

Re:

[quote=&quot;jiagangw&quot;:6ac31]data tem;
input x r v;
cards;
1 0.164609053 193128
1 0 6090
1 0.164338537 15220
-1 0 29856
-1 -0.082034454 163960
1 -0.082101806 56046
1 0.164338537 35945
-1 0 14616
-1 -0.410172272 191044
1 0.082372323 7904
1 -0.329218107 27274
1 0.330305533 98514
-1 -0.24691358 99294
-1 -0.082508251 38140
-1 -0.165152766 18756
;
run;

proc summary data=tem;
by x [size=200:6ac31]notsorted[/size:6ac31];
var r v;  
output out=out(drop=_type_) sum=;
run;

proc print data=out;
run;[/quote:6ac31]
又学了一招, by variable notsorted;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
14#
 楼主| 发表于 2004-7-25 08:16:18 | 只看该作者

RE:

data tem;
input x r v;
cards;
1 0.164609053 193128
1 0 6090
1 0.164338537 15220
-1 0 29856
-1 -0.082034454 163960
1 -0.082101806 56046
1 0.164338537 35945
-1 0 14616
-1 -0.410172272 191044
1 0.082372323 7904
1 -0.329218107 27274
1 0.330305533 98514
-1 -0.24691358 99294
-1 -0.082508251 38140
-1 -0.165152766 18756
;
run;

proc summary data=tem;
by x notsorted;
var r v;
output out=out(drop=_type_) sum=;
run;

PROC EXPORT DATA= out
            OUTFILE= "D:\temp\out.xls"
            DBMS=EXCEL2000 REPLACE;
RUN;
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-10 23:05 , Processed in 0.636970 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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