SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

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

proc means过程中一个怪问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2009-12-11 18:04:41 | 只看该作者

proc means过程中一个怪问题

proc means 使用得非常多了,但不知为什么今天在分组求中位数时却报出错,如下:

proc means data=tt1 noprint;
var jsje;
by code;
id name xylx;
output out=x1 median=jsje50;
run;

log里提示:
ERROR:  Read Access Violation In Task ( MEANS )
Exception occurred at (66FE70BC)
Task Traceback
Address   Frame     (DBGHELP API Version 4.0 rev 5)
66FE70BC  0359F720  0001:000260BC sassfm01.dll
66FD97A2  0359F760  0001:000187A2 sassfm01.dll
66FD83A5  0359F7D8  0001:000173A5 sassfm01.dll
66FCBDC6  0359F878  0001:0000ADC6 sassfm01.dll
66FC386E  0359F89C  0001:0000286E sassfm01.dll
67008769  0359FF84  0001:00007769 sasmeans.dll
67E223EE  0359FFA0  0001:000113EE sashost.dll
67E26DE0  0359FFB4  0001:00015DE0 sashost.dll
7C80B683  0359FFEC  kernel32:GetModuleFileNameA+0x1B4

NOTE: The SAS System stopped processing this step because of errors.

但如果将上述过程中的by改为class,则可正常运行,不知为什么,请高手指点!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2009-12-14 14:23:06 | 只看该作者

Re: proc means过程中一个怪问题

在使用proc means; by 语句时,必须先采用proc sort;by 语句。。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2009-12-16 08:59:28 | 只看该作者

Re: proc means过程中一个怪问题

当然,proc sort 肯定是用过了!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2009-12-16 13:14:36 | 只看该作者

Re: proc means过程中一个怪问题

是不是也可能与使用'MEDIAN='这些和quantiles统计量的选项有关?proc means qmethod = os|p2来计算quantiles。os 是缺省的,很占用内存,尤其是当by的独特值很多的时候。
使用class 当然可以解决问题,如你所做的; 另外可以试试qmethod = p2,不知是否可行?

SAS有时候很怪,原因有二:1.的确很怪 2.我们无知。我觉得很合理的说法是,有时候怪我们无知,有时候怪sas很怪。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-6 06:27 , Processed in 0.068470 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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