base SAS programming学习笔记10(combine data)

1.一对一合并

基本格式如下:

        data output-data-set;

                set data-set1;

               set data-set2;(data-set1和data-set2可以是相同的数据集,可以添加多个set 语句来实现上述的一对一合并)

        run;

输出数据集结果如下:

a.会包含所有输入数据的变量名,如果数据集包含相同的变量名,则最后读入的值会覆盖前面读入的值;

b.新的数据集的观测数是以输入数据集最少观测数为准,数据集合并是以位置为前提,即第一行与第一行合并,因此读入最少数据集的结束读入数据标志就会停止执行DATA步导出数据集。

2.纵向合并

基本格式:

        data output-data-set;

                set data-set1 data-set2;(可以设置多个数据集)

        run;

a.合并的数据集必须为相同的类型,如果不是,则会报错;

b.多个输入数据集有相同变量名的话以第一个数据集长度、标签、format和informat为准;

3.交叉合并

基本格式如下:

        data output-data-set;

                set data-set1 data-set2;(可以是多个SAS数据集)

                by variables;

        run;

data-set1和data-set2需要提前按照By 语句的变量名进行升序排序。

在data-set1和data-set2 会按照by语句变量名按顺序读取。

4.横向合并

        

基本格式如下:

        data  output-data-set;

                merge data-set1 data-set2;

                by <descending> variables;(可以按倒序排序后横向合并数据集)

        run;

如果使用descending则表示变量名按倒序排列,但只对该descending 后连着的变量有用

5.数据横向合并的逻辑

        编译阶段:读入MERGE语句设置的输入数据集的相关信息,以及检查DATA步的程序,为合并后的数据创建PDV(程序向量),为MERGE语句中每个数据集创建记录指针(tracking  pointer)

        执行阶段:SAS会提前检查是否根据BY语句匹配,如果匹配,会放入对应的PDV里面,如果存在相同的变量名称,则来自于前面数据集变量值会决定该变量的类型、长度等,变量值则来源后面对数据集;如果不匹配,则会按顺序依次放入PDV内。

        当所有数据集里面BY 语句中的变量值均发生改变该才会将PDV的值设为缺失,否则会保留上一行的数据值。

如下图所示:

BY语句未在所有的数据集里面发生变化:

BY语句在所有的数据集里面发生变化:

使用IN=variable可以追踪观测的来源,该variable是个临时变量,不在SAS数据集里面存在,取值为0和1,如果输出数据集某行有贡献则取值1,否则为0;

        如下所示:

该程序表明在demog和visit两个数据集中共有BY 语句变量值的行数被输出到merged数据集中。

上述IF语句可修改如下:

第2个IF语句判断不为0或不为缺失的值

6.SET 语句还可以和DO 循环一起使用

该程序表示,每次执行DATA步则会首先执行IF语句,从第一行读入到最后一行,因为每次重复读入则只会在PDV中存在最后一行。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小米手机永久删除的照片怎么找回?这两个方法千万不要错过!

小米手机永久删除的照片怎么找回&#xff1f;身为米粉发烧党的小编又双叒叕手残了&#xff01;本来想在手机回收站中恢复一张照片&#xff0c;结果一个稀里糊涂就把照片点成了“永久删除”。于是乎难得的休班假期&#xff0c;就变成了小编恢复永久删除照片的漫漫之路。以下是小…

org.springframework.boot.autoconfigure.EnableAutoConfiguration=XXXXX的作用是什么?

org.springframework.boot.autoconfigure.EnableAutoConfigurationXXXXXXX 这一配置项在 Spring Boot 项目中的作用如下&#xff1a; 自动配置类的指定&#xff1a; 这一配置将 EnableAutoConfiguration 设置为 cn.geek.javadatamanage.config.DataManageAutoConfiguration&…

【2024_CUMCM】TOPSIS法(优劣解距离法)

目录 引入 层次分析法的局限性 简介 例子 想法1 想法2 运用实际分数进行处理 想法3 问题 扩展问题&#xff1a;增加指标个数 极大型指标与极小型指标 统一指标类型-指标正向化 标准化处理 计算公式 计算得分 对原公式进行变化 升级到m个指标和n个对象 代码 …

系统分析师-基础知识

基础知识 一、计算机组成与结构1、计算机系统基础知识1.1 计算机硬件组成1.2 中央处理单元&#xff08;CPU&#xff09;1.3 数据表示1.3.1 R进制转十进制&#xff1a;1.3.2 十进制转R进制&#xff1a; 1.4 校验码&#xff08;3种校验码&#xff09;1.4.1 基本知识1.4.2 奇偶校验…

D-DPCC: Deep Dynamic Point Cloud Compression via 3D Motion Prediction

1. 论文基本信息 发布于&#xff1a; 2022 2. 创新点 首先提出了一种端到端深度动态点云压缩框架(D-DPCC)&#xff0c;用于运动估计、运动补偿、运动压缩和残差压缩的联合优化。提出了一种新的多尺度运动融合(MMF)模块用于点云帧间预测&#xff0c;该模块提取和融合不同运动流…

首届UTON区块链开发者计划大会在马来西亚圆满落幕

7月9日&#xff0c;首届UTON区块链开发者计划大会在马来西亚吉隆坡成功举办&#xff01; 来自全球顶尖的行业领袖、技术精英和众多区块链爱好者参与了此次盛会&#xff0c;也标志着UTON区块链生态进入了一个全新的发展阶段。 会上&#xff0c;UTON区块链创始人之一唐毅先生以“…

Python 中什么是递归函数,如何编写递归函数?

递归是计算机科学中的一种基本概念&#xff0c;它指的是函数调用自身的编程技巧。在Python中&#xff0c;递归函数是一种通过调用自身来解决问题的函数。这种方法常用于解决可以被分解为较小相同问题的场景&#xff0c;例如阶乘计算、斐波那契数列、全排列生成等。 一、递归的…

TCP 握手数据流

这张图详细描述了 TCP 握手过程中&#xff0c;从客户端发送 SYN 包到服务器最终建立连接的整个数据流转过程&#xff0c;包括网卡、内核、进程中的各个环节。下面对每个步骤进行详细解释&#xff1a; 客户端到服务器的初始连接请求 客户端发送 SYN 包&#xff1a; 客户端发起…

添加点击跳转页面,优化登录和注册页路由

一、给注销按钮添加点击跳转至登录页 1、在路由中添加登录页路由 2、自定义登录页面 3、在app.vue页面找到下拉框组件&#xff0c;添加点击事件 4、使用vue-router中的useRoute和useRouter 点击后可以跳转&#xff0c;但是还存在问题&#xff0c;路径这里如果我们需要更改登录…

JavaScript 作用域 与 var、let、const关键字

目录 一、JavaScript 作用域 1、全局作用域 2、函数作用域 3、块级作用域 4、综合示例 5、总结 二、var、let、const 1、var 关键字 2、let 关键字 3、const 关键字 4、总结 5、使用场景 一、JavaScript 作用域 在JavaScript中&#xff0c;作用域是指程序中可访问…

神经网络构成、优化、常用函数+激活函数

Iris分类 数据集介绍&#xff0c;共有数据150组&#xff0c;每组包括长宽等4个输入特征&#xff0c;同时给出输入特征对应的Iris类别&#xff0c;分别用0&#xff0c;1&#xff0c;2表示。 从sklearn包datasets读入数据集。 from sklearn import darasets from pandas impor…

vulnhub-NOOB-1

确认靶机 扫描靶机发现ftp Anonymous 的A大小写都可以 查看文件 解密 登录网页 点击about us会下载一个压缩包 使用工具提取 steghide info 目标文件 //查看隐藏信息 steghide extract -sf 目标文件 //提取隐藏的文件 steghide embed -cf 隐藏信息的文件 -ef…

什么样的开放式耳机好用舒服?南卡、倍思、Oladance高人气质量绝佳产品力荐!

​开放式耳机在如今社会中已经迅速成为大家购买耳机的新趋势&#xff0c;深受喜欢听歌和热爱运动的人群欢迎。当大家谈到佩戴的稳固性时&#xff0c;开放式耳机都会收到一致好评。对于热爱运动的人士而言&#xff0c;高品质的开放式耳机无疑是理想之选。特别是在近年来的一些骑…

图片kb太大了怎么改小?修改图片kb的方法介绍

图片kb太大了怎么改小&#xff1f;将图片的文件大小&#xff08;以KB为单位&#xff09;缩小可以带来多种优点&#xff0c;但也有一些缺点需要注意。缩小图片文件大小可以显著减少它在硬盘或其他存储设备上占用的空间&#xff0c;使你能够存储更多的图片和其他文件。而且&#…

KIVY 3D Rotating Monkey Head¶

7 Python Kivy Projects (With Full Tutorials) – Pythonista Planet KIVY 3D Rotating Monkey Head kivy 3D 旋转猴子头How to display rotating monkey example in a given layout. Issue #6688 kivy/kivy GitHub 3d 模型下载链接 P99 - Download Free 3D model by …

【AI大模型新型智算中心技术体系深度分析 2024】

文末有福利&#xff01; ChatGPT 系 列 大 模 型 的 发 布&#xff0c; 不 仅 引 爆 全 球 科 技 圈&#xff0c; 更 加 夯 实 了 人 工 智 能&#xff08;Artificial Intelligence, AI&#xff09;在未来改变人类生产生活方式、引发社会文明和竞争力代际跃迁的战略性地位。当…

ImportError: xxx: cannot open shared object file: No such file or directory

一类常见错误&#xff1a;编译器器无法在目录下找到共享目标文件&#xff0c; Linux(ubuntu)中共享的库目录为/usr/lib/x86_64-linux-gnu&#xff0c;gcc的编译库 在该目录下创建共享文件&#xff08;伪造、下载&#x1f91c;cp)即可 sudo ln -s libtiff.so.6 libtiff.so.5

昇思25天学习打卡营第11天|ResNet50图像分类

文章目录 昇思MindSpore应用实践基于MindSpore的ResNet50图像分类1、ResNet50 简介2、数据集预处理及可视化3、构建网络构建 Building Block构建 Bottleneck Block构建 ResNet50 网络 4、模型训练5、图像分类模型推理 Reference 昇思MindSpore应用实践 本系列文章主要用于记录…

AsyncRequestTimeoutException

在Spring MVC中&#xff0c;当一个异步请求超过配置的最大等待时间时&#xff0c;会抛出AsyncRequestTimeoutException异常。这个异常通常是由于服务器端的处理时间超过了客户端允许的等待时间&#xff0c;或者是服务器本身的异步处理时间配置过短导致的。 spring: mvc: async…

scrapy写爬虫

Scrapy是一个用于爬取网站数据并提取结构化信息的Python框架 一、Scrapy介绍 1.引擎&#xff08;Engine&#xff09; – Scrapy的引擎是控制数据流和触发事件的核心。它管理着Spider发送的请求和接收的响应&#xff0c;以及处理Spider生成的Item。引擎是Scrapy运行的驱动力。…