楼主: wfchen
52369 14

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

  • 0关注
  • 0粉丝

已卖:63份资源

本科生

36%

还不是VIP/贵宾

-

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

楼主
wfchen 发表于 2011-1-11 21:51:34 |AI写论文
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
拉您进交流群
GMT+8, 2025-12-31 19:50