SAS - 數值格式



SAS 可以處理各種數值資料格式。它在變數名的末尾使用這些格式,以便將特定的數值格式應用於資料。SAS 使用兩種型別的數值格式。一種用於讀取特定格式的數值資料,稱為informat,另一種用於以特定格式顯示數值資料,稱為output format

語法

數值 informat 的語法如下:

Varname Formatnamew.d

以下是所用引數的描述:

  • Varname 是變數的名稱。

  • Formatname 是應用於變數的數值格式的名稱。

  • w 是允許為變數儲存的最大資料列數(包括小數點後的數字和小數點本身)。

  • d 是小數點右邊的位數。

讀取數值格式

以下是用於將資料讀入 SAS 的格式列表。

輸入數值格式

格式 用途
n.

最多“n”列,沒有小數點。

n.p

最多“n”列,有“p”個小數位。

COMMAn.p

最多“n”列,有“p”個小數位,去除任何逗號或美元符號。

COMMAn.p

最多“n”列,有“p”個小數位,去除任何逗號或美元符號。

顯示數值格式

類似於在讀取資料時應用格式,以下是用於在 SAS 程式輸出中顯示資料的格式列表。

輸出數值格式

格式 用途
n.

寫入最多“n”位數字,沒有小數點。

n.p

寫入最多“n.p”列,有“p”個小數位。

DOLLARn.p

寫入最多“n”列,有“p”個小數位,前導美元符號和千分位逗號。

請注意:

  • 如果小數點後的位數小於格式說明符,則將在末尾附加零

  • 如果小數點後的位數大於格式說明符,則最後一個數字將四捨五入

示例

以下示例說明了上述場景。

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.
廣告

© . All rights reserved.