| 所在主题: | ||||||||||
| 文件名: one.zip | ||||||||||
| 资料下载链接地址: https://bbs.pinggu.org/a-1530531.html | ||||||||||
本附件包括:
|
||||||||||
| 附件大小: | ||||||||||
|
前时曾在本论坛看到过一篇帖子,说是proc format得到的数据集,所看到的值和实值有异
(https://bbs.pinggu.org/thread-1547655-1-1.html) 合并此主题,我想要向老师们询问两个问题,我相信用SAS有一段时间的朋友多有曾遇到。 1. 就是对一个“看似”是整数的值做int,再让他和原值相减,得到的是一个非常趋于零的数。 数据集请见附件。 Code就是:int = int(value); remain = value - int; 个人的感觉(猜测)是:SAS储存的值和他展现的值有一定的差异,这个差异在output中不会展现,在一般的proc运算中不会影响,但是只要做一个精确的取余,就可以看到他的原型。 Dataset:
我的同事告诉我一个办法,就是用best.对这个值洗一下:value = input(put(value, best.), best.); 但是这是治疗之法,而不是预防之法。 所以我想请问,可否告知这种现象的实际原理,是否有一种更直接的方法(例如某个option)能避免这种现象? 2. 还有一个疑问与第一个类似,只是很抱歉我没有收集到这个实例数据集。 就是在对一个值用proc means或其他运算步得到值过后,有时put得到的结果有误。 例如一个值:mean = 5.1251; 有时会发生:value1 = put(mean, 4.2) = 5.12 但是加了round就不会出错了: value2 = put(round(mean, 0.01), best.) = 5.13 所以我想问下,put有时没有round精确,是什么原因呢?除了加round校正,有无其他办法呢? 第2问的实例我会稍后收集跟上,谢谢。 |
||||||||||
熟悉论坛请点击新手指南
|
||||||||||
| 下载说明 | ||||||||||
|
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。 2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。 3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。 (如有侵权,欢迎举报) |
||||||||||
京ICP备16021002号-2 京B2-20170662号
京公网安备 11010802022788号
论坛法律顾问:王进律师
知识产权保护声明
免责及隐私声明