全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5137 4
2016-07-27
程序.png     output结果.png
数据集.png


请问,为什么利用proc format定义了格式后,数据集输出的结果中age的格式并没有改变,然而means过程却是按照新的格式去执行的,不懂为什么会出现这样的情况?
另外log中提示 The DM font being used is for the Western character set but the required character set is Chinese (Simplified).英语也不行,这里是提示字体设置导致的吗?望大家赐教!谢谢了!





二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-7-27 22:01:02
首先,format只是一个形式,用format语句只会改变值的形式,而不会改变原始的值;
比如age=14, 你给的形式是Teen,即使你给的形式不是Teen,而是其他的,比如abc, 123等等,这条记录age的值还是14.

其次,format语句只会作用在你加format的那一步,你在proc步加了,所以output里面是format的形式,但是data步里没加,所以不是。

个人建议写程序的时候,每个data步或者proc步结束,最好加一个run; 你这样写也没错,但是容易混淆。

你说的log里面的提示,应该不会对结果有影响,下面的网址你可以参考一下:

http://support.sas.com/kb/14/388.html
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-7-28 10:58:24
wwang111 发表于 2016-7-27 22:01
首先,format只是一个形式,用format语句只会改变值的形式,而不会改变原始的值;
比如age=14, 你给的形式 ...
老师,前后查看AGE变量的属性,确实如你所说,老师太感谢了,还有那个网址我点进去看了,帮助很大,以后一定多看看,
但是,之后如果一个这样的数据集摆在我面前,我如何知道它原来的值是多少呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-7-28 11:17:12
拿你举例的数据集来说,如果不想看format了,就在format age agegrp.;后面加一个 format age; , 运行之后就是原始的值了。

data one1;
set sashelp.class;
format age agegrp.;
format age;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-7-28 11:59:04
wwang111 发表于 2016-7-28 11:17
拿你举例的数据集来说,如果不想看format了,就在format age agegrp.;后面加一个 format age; , 运行之后就 ...
哦哦,调用回原来的格式!明白了。谢谢~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群