SAS - 数字格式

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

语法

数字信息的语法是 :

Varname Formatnamew.d

以下是所用参数的说明及减号;

  • Varname 是变量的名称.

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

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

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

读取数字格式

以下是用于将数据读入SAS的格式列表.

输入N. umeric格式

格式使用
n.

没有小数点的最大"n"列数.

np

"p"列的最大"n"列数小数点.

COMMAn.p

带有"p"小数位的最大"n"列数,用于删除任何逗号或美元符号.

COMMAn.p

最大"n"列数删除任何逗号或美元符号的"p"小数位.

显示数字格式

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

输出数值格式

格式使用
n.

写出没有小数点的最大"n"位数.

np

写入最大值" np"带有"p"小数点的列数.

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.