如何在SAS中仅为部分数值变量添加.0且保持数值型(禁用自定义格式)
SAS 实现数值变量部分取值显示.0(保留数值型)
需求说明
将数值变量a中取值为0、1、2、3的内容显示为x.0格式,取值95则保持整数显示,结果变量需维持数值型,且禁止使用自定义格式。
样本数据集
data test; a=0; output; a=1; output; a=2; output; a=3; output; a=95; output; run;
解决方案代码
data result; set test; /* 条件应用SAS内置格式,不改变变量数值类型 */ if a in (0, 1, 2, 3) then format a 1.1; else format a best.; run; /* 验证输出结果 */ proc print data=result noobs; run;
代码说明
- 利用SAS内置的
1.1格式,强制0-3的数值显示为1位整数加1位小数的形式(即x.0) - 对95使用默认的
best.格式,保持整数显示 - 变量
a的存储类型始终为数值型,仅通过条件指定不同的显示格式,完全符合禁止自定义格式的要求 - 执行
proc print后,输出结果将呈现为:0.0、1.0、2.0、3.0、95
内容的提问来源于stack exchange,提问作者Rhythm
相关产品推荐
相关产品推荐

