数组
编辑教程数组
SAS中的数组用于使用索引值存储和检索一系列值。 索引表示保留存储区中的位置。
句法
在SAS中,使用以下语法声明数组:
ARRAY ARRAY-NAME(SUBSCRIPT) ($) VARIABLE-LIST ARRAY-VALUES
在上面的语法中:
- ARRAY是声明数组的SAS关键字。
- ARRAY-NAME是遵循与变量名称相同的规则的数组的名称。
- SUBSCRIPT是数组要存储的值的数量。
- ($)是一个可选参数,仅当数组要存储字符值时使用。
- VARIABLE-LIST是变量的可选列表,它们是数组值的占位符。
- ARRAY-VALUES是存储在数组中的实际值。 它们可以在这里声明,或者可以从文件或dataline中读取。
数组声明示例
数组可以使用上述语法以多种方式声明。 下面是示例。
# Declare an array of length 5 named AGE with values.
ARRAY AGE[5] (12 18 5 62 44);
# Declare an array of length 5 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;
访问数组值
存储在数组中的值可以通过使用如下所示的打印过程访问。 在使用上述方法之一声明之后,使用DATALINES语句提供数据。
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;
当我们执行上面的代码,它会产生以下结果:
使用OF运算符
当分析数组形式的数组以对数组的整个行执行计算时,使用OF运算符。 在下面的示例中,我们应用每行中的值的和和均值。
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;
当我们执行上面的代码,它会产生以下结果:
使用IN运算符
也可以使用IN运算符访问数组中的值,该运算符检查数组行中是否存在值。 在下面的例子中,我们检查数据中颜色“黄色”的可用性。 此值区分大小写。
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;
当我们执行上面的代码,它会产生以下结果:
Mos固件,小电视必刷固件
ES6 教程
Vue.js 教程
JSON 教程
jQuery 教程
HTML 教程
HTML 5 教程
CSS 教程
CSS3 教程
JavaScript 教程
DHTML 教程
JSON在线格式化工具
JS在线运行
JSON解析格式化
jsfiddle中国国内版本
JS代码在线运行
PHP代码在线运行
Java代码在线运行
C语言代码在线运行
C++代码在线运行
Python代码在线运行
Go语言代码在线运行
C#代码在线运行
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。
大家可以一起参与进共编,让零散的知识点帮助更多的人。
X

选择支付方式:


立即支付

¥
9.99
无法付款,请点击这里
金额: 0 元
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟