base SAS programming学习笔记13(Array)

1.Array array-name{dimension} <elements>

        array-name:向量名称

        dimension:向量长度,默认为1;

        elements:列出变量名,变量名要么全是数值变量或者全是字符变量

        array-name和variable不能相同;也不能和函数名称相同;

        array的名称不可以在label、format、drop和keep或者length语句中使用。

dimension可以取数值、数值范围或者*

array sales{4} qtr1 qtr2 qtr3 qtr4

array sales{96:99} qtr1-qtr4

array sales{*} qtr1 qtr2 qtr3 qtr4

变量名取值可以变量名、也可以是“-”连接的变量名序列,也可以是_ALL_(所有变量),_NUMERIC_(所有数值变量),_CHARACTER_(所有字符变量)

如:array sales{*} _numeric_;

当读取一行数据放入PDV里面(程序向量),在这行数据里面对array里面的变量值循环做相同的处理。

2.ARRAY 函数 

        dim(array-name):计算向量里面的变量个数

        

3.使用ARRAY 创建新变量

          array  array-name{dimension} <variablename> )

创建新变量,未自定义变量名,变量名默认为array-name后接1,2,.....dimension ;

后接 $ 表示字符型,默认长度为8,可以加上数值表示字符的长度

比如:array firstname{5} $ 24;

举例如下:

也可以自定义variable-name;

给新建的变量赋初值:

        array  array-name {dimension} <variable name> (initial values)

在变量名之后赋初值,初值和变量名一一对应,初值间用空格或逗号隔开,初值用括号括起来;

在向量里面赋值的初值在PDV中会自动从第一行开始予以保留,不清空

如:array goal{4} g1 g2 g3 g4 (9000,9300,9600,9900)

       array col{3} $ color-color3  (“red”,"green","blue")

也可以不设置变量名为向量里面的每个元素赋值

        array var{4} (1 2 3 4),

举例如下:

结果如下:

 如上在ARRAY中定义的变量,会输出至SAS数据集,因此可以用_TEMPORARY_来创建临时变量,临时变量不会出现在SAS数据集中:

4.使用ARRAY创建多维向量

        上述均是用ARRAY创建的一维向量,创建二维向量如下:

        array new{3,4} x1-x12; {r,c}: r表示row,c表示column;

        可以使用new(2,3)来引用向量里面的值;

向量如下:

举例如下:

在每次迭代开始给qtr{i}赋值为0,是为了避免上一个qtr值累积到下一个qtr值;

上述程序执行逻辑如下:

1)SAS在PDV中先根据ARRAY 组织或创建新变量如下:

2)当第一个DO循环i=1时,qtr{1}=0;面对第二个DO循环时,qrt{1}+m{1,1}:

qrt{1}+m{1,2}:

qtr{1}+m{1,3}:

3)结束循环时,PDV如下:

最终结果如下:

4)还可以实现数据转置,横向数据转成纵向数据举例如下:

源数据:

转置后数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3248199.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

人工智能实训室的核心功能有哪些?

随着人工智能技术的飞速发展&#xff0c;其在各行各业的应用日益广泛&#xff0c;对高素质、高技能的人工智能人才需求也随之增加。唯众紧跟市场趋势&#xff0c;致力于建设高标准、高质量的人工智能实训室&#xff0c;以满足职业院校及企业对人工智能技术应用型人才的培养需求…

HarmonyOS NEXT学习——@BuilderParam装饰器

初步理解&#xff0c;相当于VUE的插槽slot Builder function overBuilder() {}Component struct Child {label: string ChildBuilder customBuilder() {}Builder customChangeThisBuilder() {}BuilderParam customBuilderParam: () > void this.customBuilder; // 使用自定…

数据结构(双向链表)

链表的分类 链表的结构⾮常多样&#xff0c;以下情况组合起来就有8种&#xff08;2 x 2 x 2&#xff09;链表结构&#xff1a; 虽然有这么多的链表的结构&#xff0c;但是我们实际中最常⽤还是两种结构&#xff1a;单链表和双向带头循环链表 1.⽆头单向⾮循环链表&#xff1a…

图论(一):速概览无向图有向图图的可视化路径问题

一、图论速概览 研究图的性质和图之间的关系节点和边组成&#xff0c;节点表示对象&#xff0c;边表示对象之间的关系无向图&#xff1a;边没有方向&#xff0c;节点之间的连接是双向的。常用于描述简单的关系&#xff0c;如社交网络中的朋友关系。根据边有无权重分为无权重无…

工业控制:CANOpen(控制器局域网络)协议快速学习

文章目录 背景协议介绍CAN总线协议CANOpen协议介绍CANOpen诞生背景CANOpen的对象字典 CANOpen的服务数据对象&#xff08;SDO&#xff09; 参考附录问题CAN总线竞争原理在CAN协议中&#xff0c;帧中的ID是发送者的ID还是接收者的ID&#xff1f; 背景 目前很多CANOpen介绍的文章…

【操作系统】文件管理——文件存储空间管理(个人笔记)

学习日期&#xff1a;2024.7.17 内容摘要&#xff1a;文件存储空间管理、文件的基本操作 在上一章中&#xff0c;我们学习了文件物理结构的管理&#xff0c;重点学习了操作系统是如何实现逻辑结构到物理结构的映射&#xff0c;这显然是针对已经存储了文件的磁盘块的&#xff0…

简单实用的企业舆情安全解决方案

前言&#xff1a;企业舆情安全重要吗&#xff1f;其实很重要&#xff0c;尤其面对负面新闻&#xff0c;主动处理和应对&#xff0c;可以掌握主动权&#xff0c;避免股价下跌等&#xff0c;那么如何做使用简单实用的企业舆情解决方案呢&#xff1f; 背景 好了&#xff0c;提取词…

【React打卡学习第一天】

React入门 一、简介二、基本使用1.引入相关js库2.babel.js的作用 二、创建虚拟DOM三、JSX&#xff08;JavaScript XML&#xff09;1.本质2.作用3.基本语法规则定义虚拟DOM时&#xff0c;不要写引号。标签中混入JS表达式时要用{}。样式的类名指定不要用class,要用className.内联…

中国贸易外经统计年鉴(2006-2023年)

数据年限&#xff1a;2006-2023年全 数据格式&#xff1a;pdf、excel、caj 数据内容&#xff1a;《中国贸易外经统计年鉴》是一部反映中国国内贸易、对外经济贸易和旅游业发展情况的资料性年刊。收录了 中国国内消费品市场、批发和零售业、住宿和餐饮业、国际收支、对外贸易、利…

Web前端知识视频教程分享

资料下载地址: https://545c.com/f/45573183-1323782723-42d3b2?p7526 (访问密码: 7526)

mysql的索引事务和存储引擎

一、索引 1、索引 索引的概念 &#xff1a;索引是一个排序的列表&#xff0c;在列表当中存储索引的值以及索引值对应数据所在的物理行。 索引的引用&#xff1a; 使用索引之后&#xff0c;就不需要扫描全表来定位某行的数据。 加快数据库的查询速度。 索引可以是表中的一…

智慧园区解决方案PPT(44页)

智慧园区解决方案摘要 一、引言 随着科技的飞速发展&#xff0c;智慧化已成为园区建设与发展的重要趋势。然而&#xff0c;传统园区在智慧化方面仍存在诸多不足&#xff0c;如政企互动便捷化不足、园区治理智能化单一、运营生态化缺失等问题。为此&#xff0c;我们提出了以“…

TI 【ads131m02】DSP TMS320F280049C调试与学习笔记

ads131m02 调试与学习笔记 时序SPI 参考链接&#xff1a; ADS131M02_TI官网资料参考 ADS131M02—英文使用手册 ADS131M0x—参考代码 Example C Code ADS131M02 是一款 two 通道、同步采样、24 位、ΔΣ 模数转换器 (ADC)&#xff0c;具有宽动态范围、低功耗和电能测量特定功能…

二叉树的构造

二叉树的构造&#xff08;前后序用来确定根的位置&#xff0c;中用来划分左右子树 最大二叉树&#xff08;递归要先写终止条件 终止条件 终止条件 每次找最大的结点为分界点以及根节点&#xff0c;左边构成左子树&#xff0c;右边构成右子树&#xff0c;递归 class Solution {…

【Docker】Docker-harbor私有仓库部署与管理

目录 一.Harbor 概述 1.什么是Harbor 2.Harbor的特性 3.Harbor的构成 二.Harbor 部署 1.部署 Docker-Compose 服务 2.部署 Harbor 服务 3.启动 Harbor 4.创建新项目 5.创建用户 6.本地上传镜像 7.从Harbor下载镜像 三.镜像同步 1.定时拉取 2.主动推送 四.管理 …

SwiftUI 5.0(iOS 17)滚动视图的滚动目标行为(Target Behavior)解惑和实战

概览 在 SwiftUI 的开发过程中我们常说&#xff1a;“屏幕不够&#xff0c;滚动来凑”。可见滚动视图对于超长内容的呈现有着多么秉轴持钧的重要作用。 这不&#xff0c;从 SwiftUI 5.0&#xff08;iOS 17&#xff09;开始苹果又为滚动视图增加了全新的功能。但是官方的示例可…

双向链表_代码实现

代码实现的专题&#xff1a;只有手撕代码&#xff1a;&#xff09;&#xff0c;附上重点注释&#xff1b;重要的环节&#xff0c;会配上相应的调试截图与运行截图 。 总之&#xff0c;重点在代码&#xff0c;关于基础理论部分&#xff1a;&#xff08;还在写&#xff09; 定义…

Python数据可视化之numpy的11个常用的创建数组的函数

numpy库 在处理成千上万的数据时&#xff0c;Python的1维列表已经不适合来对数据进行处理&#xff0c;效率会很慢&#xff0c;所以numpy就诞生了&#xff0c;他可以将列表变成数组&#xff0c;而数组可以是1维、2维、3维甚至更高纬度&#xff0c;可用于存储和处理大型的矩阵&a…

js | Core

http://dmitrysoshnikov.com/ecmascript/javascript-the-core/ Object 是什么&#xff1f; 属性[[prototype]]对象。 例如&#xff0c;下面的&#xff0c;son是对象&#xff0c;foo不是对象。打印出来的son&#xff0c;能看到有一个prototype 对象。 prototype vs _proto_ v…

Kafka消息队列python开发环境搭建

目录 引言 Kafka 的核心概念和组件 Kafka 的主要特性 使用场景 申请云服务器 安装docker及docker-compose VSCODE配置 开发环境搭建 搭建Kafka的python编程环境 Kafka的python编程示例 引言 Apache Kafka 是一个分布式流处理平台&#xff0c;由 LinkedIn 开发并在 2…