SAS – 数字格式

SAS – 数字格式


SAS 可以处理多种数字数据格式。它在变量名称的末尾使用这些格式将特定的数字格式应用于数据。SAS 使用两种数字格式。一种用于读取称为informat的数字数据的特定格式,另一种用于以称为输出格式的特定格式显示数字数据

句法

数字信息的语法是 –

Varname Formatnamew.d

以下是所用参数的描述 –

  • Varname是变量的名称。

  • Formatname是应用于变量的数字格式的名称。

  • w是允许为变量存储的最大数据列数(包括小数点后的数字和小数点本身)。

  • d是小数点右边的位数。

读取数字格式

下面是用于将数据读入 SAS 的格式列表。

输入数字格式

Format 采用
n.

无小数点的最大“n”列数。

n.p

带有“p”个小数点的最大“n”列数。

COMMAn.p

带有“p”小数位的最大“n”列数,可删除任何逗号或美元符号。

COMMAn.p

带有“p”小数位的最大“n”列数,可删除任何逗号或美元符号。

显示数字格式

类似于在读取数据时应用格式,下面是用于在 SAS 程序的输出中显示数据的格式列表。

输出数字格式

Format 采用
n.

写下最大“n”位数,不带小数点。

n.p

用“p”个小数点写出最大“np”列数。

DOLLARn.p

用 p 个小数位、前导美元符号和逗号在千位上写下最多“n”个列。

请注意 –

  • 如果小数点后的位数少于格式说明符,则将在末尾附加零

  • 如果小数点后的位数大于格式说明符,则最后一位将被四舍五入

例子

下面的例子说明了上述场景。

DATA MYDATA1;
input x 6.; /*maxiiuum width of the data*/
format x 6.3;
datalines;
8722
93.2
.1122
15.116
PROC PRINT DATA = MYDATA1;
RUN;

DATA MYDATA2;
input x 6.; /*maximum width of the data*/
format x 5.2;
datalines;
8722
93.2
.1122
15.116
PROC PRINT DATA = MYDATA2;
RUN;
DATA MYDATA3;
input x 6.; /*maximum width of the data*/
format x DOLLAR10.2;
datalines;
8722
93.2
.1122
15.116
PROC PRINT DATA = MYDATA3;
RUN;

当我们执行上面的代码时,它会产生以下结果 –

# MYDATA1.
Obs 	x
1 	8722.0 # Display 6 columns with zero appended after decimal.
2 	93.200 # Display 6 columns with zero appended after decimal.
3 	0.112  # No integers before decimal, so display 3 available digits after decimal.
4 	15.116 # Display 6 columns with 3 available digits after decimal.

# MYDATA2
Obs 	x
1 	8722  # Display 5 columns. Only 4 are available.
2 	93.20 # Display 5 columns with zero appended after decimal.
3 	0.11  # Display 5 columns with 2 places after decimal.
4 	15.12 # Display 5 columns with 2 places after decimal.

# MYDATA3
Obs 	x
1 	$8,722.00 # Display 10 columns with leading $ sign, comma at thousandth place and zeros appended after decimal.
2 	$93.20    # Only 2 integers available before decimal and one available after the decimal.
3 	$0.11	  # No integers available before decimal and two available after the decimal.
4 	$15.12    # Only 2 integers available before decimal and two available after the decimal.

觉得文章有用?

点个广告表达一下你的爱意吧 !😁