SAS數(shù)組

2021-07-21 16:21 更新

SAS中的數(shù)組用于使用索引值存儲(chǔ)和檢索一系列值。 索引表示保留存儲(chǔ)區(qū)中的位置。

句法

在SAS中,使用以下語法聲明數(shù)組:

ARRAY ARRAY-NAME(SUBSCRIPT) ($) VARIABLE-LIST ARRAY-VALUES

在上面的語法中:

  • ARRAY是聲明數(shù)組的SAS關(guān)鍵字。
  • ARRAY-NAME是遵循與變量名稱相同的規(guī)則的數(shù)組的名稱。
  • SUBSCRIPT是數(shù)組要存儲(chǔ)的值的數(shù)量。
  • ($)是一個(gè)可選參數(shù),僅當(dāng)數(shù)組要存儲(chǔ)字符值時(shí)使用。
  • VARIABLE-LIST是變量的可選列表,它們是數(shù)組值的占位符。
  • ARRAY-VALUES是存儲(chǔ)在數(shù)組中的實(shí)際值。 它們可以在這里聲明,或者可以從文件或dataline中讀取。

數(shù)組聲明示例

數(shù)組可以使用上述語法以多種方式聲明。 下面是示例。

# Declare an array of length 5 named AGE with values.
ARRAY AGE[5] (12 18 5 62 44);

# Declare an array of length 8 named COUNTRIES with values starting at index 0.
ARRAY COUNTRIES(0:8) A B C D E F G H I;

# Declare an array of length 5 named QUESTS which contain character values.
ARRAY QUESTS(1:5) $ Q1-Q5;

# Declare an array of required length as per the number of values supplied.
ARRAY ANSWER(*) A1-A100;

訪問數(shù)組值

存儲(chǔ)在數(shù)組中的值可以通過使用如下所示的打印過程訪問。 在使用上述方法之一聲明之后,使用DATALINES語句提供數(shù)據(jù)。

DATA array_example;
INPUT a1 $ a2 $ a3 $ a4 $ a5 $;
ARRAY colours(5) $ a1-a5;
mix = a1||'+'||a2;
DATALINES;
yello pink orange green blue
;
RUN;
PROC PRINT DATA=array_example;
RUN;

當(dāng)我們執(zhí)行上面的代碼,它會(huì)產(chǎn)生以下結(jié)果:

使用OF運(yùn)算符

當(dāng)分析數(shù)組形式的數(shù)組以對(duì)數(shù)組的整個(gè)行執(zhí)行計(jì)算時(shí),使用OF運(yùn)算符。 在下面的示例中,我們應(yīng)用每行中的值的和和均值。

DATA array_example_OF;
	INPUT A1 A2 A3 A4;
	ARRAY A(4) A1-A4;
	A_SUM=SUM(OF A(*));
	A_MEAN=MEAN(OF A(*));
	A_MIN=MIN(OF A(*));
	DATALINES;
	21 4 52 11
	96 25 42 6
	;
	RUN;
	PROC PRINT DATA=array_example_OF;
	RUN;

當(dāng)我們執(zhí)行上面的代碼,它會(huì)產(chǎn)生以下結(jié)果:

使用IN運(yùn)算符

也可以使用IN運(yùn)算符訪問數(shù)組中的值,該運(yùn)算符檢查數(shù)組行中是否存在值。 在下面的例子中,我們檢查數(shù)據(jù)中顏色“黃色”的可用性。 此值區(qū)分大小寫。

DATA array_in_example;
	INPUT A1 $ A2 $ A3 $ A4 $;
	ARRAY COLOURS(4) A1-A4;
	IF 'yellow' IN COLOURS THEN available='Yes';ELSE available='No';
	DATALINES;
	Orange pink violet yellow
	;
	RUN;
	PROC PRINT DATA=array_in_example;
	RUN;

當(dāng)我們執(zhí)行上面的代碼,它會(huì)產(chǎn)生以下結(jié)果:


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)