楼主: wfchen
50668 14

[原创博文] SAS 中的put函数 [推广有奖]

  • 0关注
  • 0粉丝

本科生

37%

还不是VIP/贵宾

-

威望
0
论坛币
187 个
通用积分
3.4893
学术水平
1 点
热心指数
2 点
信用等级
1 点
经验
1354 点
帖子
64
精华
0
在线时间
76 小时
注册时间
2008-10-6
最后登录
2023-11-6

20论坛币
假设var1是一个数值变量,比如0.1,0.11,0.111,0.1111,0.11111,-0.1,-0.11,-0.111,-0.1111,-0.11111
那么y=put(var1,3.0)是不是把var1先四舍五入成一个整数,然后再转化成字符变量输出?
为什么?有没有这方面的资料,谢谢

关键词:put函数 put 数值变量 四舍五入 字符变量 资料

回帖推荐

yxj985211 发表于7楼  查看完整内容

put函数是把数值型变量转换成字符型变量,或把字符型变量转换成另一种格式的字符型变量。

elek.me 发表于4楼  查看完整内容

put 函数其实只是定义或者改变变量的输出格式。

本帖被以下文库推荐

沙发
guo.bailing 发表于 2011-1-11 22:36:26 |只看作者 |坛友微信交流群
按你说的试了一下,y输出的都是缺失值
自助者,天助之!

使用道具

藤椅
baoaibaobao 发表于 2011-1-11 23:10:13 |只看作者 |坛友微信交流群
  1. data zachary;
  2. infile cards dlm=',';
  3. input x@@;
  4. x1=put(x,3.0);
  5. put x1;
  6. cards;
  7. 0.1,0.91,0.411,0.1111,0.11111,-0.1,-0.11,-0.611,-0.1111,-0.11111
  8. ;
复制代码
貌似确实是先四舍五入,再按3.0输出字符啊!楼主的意思是要?

使用道具

板凳
elek.me 发表于 2011-1-12 08:59:08 |只看作者 |坛友微信交流群
put 函数其实只是定义或者改变变量的输出格式。
我的博客: http://elek.me/sas
联系我: http://about.me/elek

使用道具

报纸
junuylia 发表于 2011-1-13 10:45:53 |只看作者 |坛友微信交流群
y=put(source, format.)函数的作用是把变量source以format的形式存到y中,source本身不变。format的格式和输入格式相同。对数字来说是w.d, w表示数字允许的最大位数,包括小数点,负号,科学计数法中的逗号或者$符号;d表示小数点后的位数。如果是字符,输入符号是$w.,别忘了后面的“.”

例如对于你例子中的-0.1111,如果format是3.0,那么最多取3位,也就是-0.  所以结果是-0   如果format是5.2那么结果就是-0.11
另外如果var1是一个字符串,如'an example',那么format就要写成$w.的形式,如果是$4.那么输出结果就是'an e'


可以参考SAS自带的帮助文档 put function
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

使用道具

地板
chenyinshanyi 发表于 2011-1-13 16:44:20 |只看作者 |坛友微信交流群
5# junuylia 正好我也有这方面的疑问 谢谢
Sleep less, study more...

使用道具

7
yxj985211 发表于 2011-1-14 15:49:58 |只看作者 |坛友微信交流群
put函数是把数值型变量转换成字符型变量,或把字符型变量转换成另一种格式的字符型变量。
签名被屏蔽

使用道具

8
jintianxiu 发表于 2011-12-6 15:38:39 |只看作者 |坛友微信交流群
受益匪浅~

使用道具

9
daxia101 发表于 2012-9-6 00:25:47 |只看作者 |坛友微信交流群
明白了,谢谢5楼

使用道具

10
daxia101 发表于 2012-9-6 00:40:18 |只看作者 |坛友微信交流群
好像要四舍五入

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 16:10