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中存在最后一行。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

多头注意力的公式理解

多头注意力 (Multihead Attention) 多头注意力是一种通过并行使用多个注意力机制来增强模型能力的方法。每个注意力机制被称为一个“头”&#xff08;head&#xff09;。这种机制使得模型可以在不同的子空间中并行计算注意力&#xff0c;从而捕捉输入数据中不同范围的依赖关系…

如何写好品牌宣传稿提升品牌曝光?看这篇文章就够了

在这个信息爆炸的时代&#xff0c;一句精炼而富有力量的宣传语&#xff0c;足以让品牌在万千竞争者中脱颖而出。撰写一篇成功的品牌宣传稿&#xff0c;不仅是对文字艺术的驾驭&#xff0c;也是对品牌灵魂的深刻洞察与精准传达&#xff0c;更是连接品牌与消费者情感与认知的桥梁…

华为防火墙上的配置(1)

实验拓扑图 实验要求&#xff1a; 1、DMZ区内的服务器&#xff0c;生产区仅能在办公时间内&#xff08;9&#xff1a;00-18:00)可以访问&#xff0c;办公区的设备全天可以访问 2、生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网 3、办公区设备10.0.2.10不…

MT5016A-ASEMI逆变焊机专用MT5016A

编辑&#xff1a;ll MT5016A-ASEMI逆变焊机专用MT5016A 型号&#xff1a;MT5016A 品牌&#xff1a;ASEMI 封装&#xff1a;KBPC-4 批号&#xff1a;2024 现货&#xff1a;50000 正向电流&#xff08;Id&#xff09;&#xff1a;50A 反向耐压&#xff08;VRRM&#xff0…

位运算在数据库中的运用实践-以MySQL和PG为例

目录 前言 一、两种不同的数据库设计 1、状态字段存储JSON 2、使用位运算 二、数据库中的位运算实践 1、MySQL中的位运算实践 2、PostgreSQL中位运算实践 三、总结 前言 最近在解决某用户的一个业务需求时&#xff0c;遇到一个很有意思的场景。首先先跟大家分享一下需求…

记录一次mysql死锁问题的分析排查

记录一次死锁问题的分析排查 现象 底层往kafka推送设备上线数据应用层拉取设备上线消息,应用层有多个消费者并发执行将设备上线数据同步数据库表pa_terminal_channel日志报&#xff1a;&#xff08;Cause: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: …

skywalking-1-服务端安装

skywalking很优秀。 安装服务端 skywalking的服务端主要是aop服务&#xff0c;为了方便查看使用还需要安装ui。另外采集的数据我们肯定要存起来&#xff0c;这个数据库就直接用官方的banyandb。也就是aop、ui、banyandb都使用官方包。 我们的目的是快速使用和体验&#xff0c…

【Go系列】 Go语言的入门

为什么要学习Go 从今天起&#xff0c;我们将一同启程探索 Go 语言的奥秘。我会用简单明了的方式&#xff0c;逐一讲解 Go 语言的各个知识点&#xff0c;帮助你从基础做起&#xff0c;一步步深化理解。不论你之前是否有过 Go 语言的接触经验&#xff0c;这个系列文章都将助你收获…

电脑引导坏了怎么修复?电脑引导坏了全自动修复教程

电脑怎么修复引导?我们知道目前电脑有两种引导模式legacy和uefi&#xff0c;所以会出现legacy和uefi引导修复的问题&#xff0c;随着uefi的流行&#xff0c;越来越多的小伙伴经常遇到电脑引导丢失的问题&#xff0c;也不知道怎么修复&#xff0c;以前的一些修复工具都只能修复…

【JavaEE】文件IO

&#x1f921;&#x1f921;&#x1f921;个人主页&#x1f921;&#x1f921;&#x1f921; &#x1f921;&#x1f921;&#x1f921;JavaEE专栏&#x1f921;&#x1f921;&#x1f921; 文章目录 1.什么叫文件IO1.1IO的概念1.2文件的概念 2.用java来操作文件2.1文件的分类2…

Internet Download Manager6.42最新下载器互联网冲浪小能手们!

今天我要来种草一个超级棒的宝贝——Internet Download Manager&#xff08;简称 IDM&#xff09;。这个小家伙简直是下载界的“速度与激情”代言人&#xff0c;让我彻底告别了等待的日子。&#x1f389; IDM马丁正版下载如下: https://wm.makeding.com/iclk/?zoneid34275 …

本地部署,强大的面部修复与增强网络CodeFormer

目录 什么是 CodeFormer&#xff1f; 技术原理 主要功能 应用场景 本地部署 运行结果 结语 Tip&#xff1a; 在图像处理和计算机视觉领域&#xff0c;面部修复和增强一直是一个备受关注的研究方向。近年来&#xff0c;深度学习技术的飞速发展为这一领域带来了诸多突破性…

uniapp x — 跨平台应用开发的强大助力

摘要&#xff1a; 随着前端技术的不断演进&#xff0c;跨平台应用开发框架成为了提升开发效率、降低开发成本的重要工具。uni-app以其跨平台兼容性和丰富的功能受到了开发者的广泛青睐。然而&#xff0c;随着应用需求的日益增长&#xff0c;对框架的功能和性能要求也在不断提高…

防御---001

一、实验拓扑二、要求 1&#xff0c;DMZ区内的服务器&#xff0c;办公区仅能在办公时间内(9:00 - 18:00)可以访问&#xff0c;生产区的的设备全天可以访问. 2&#xff0c;生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网 3,办公区设备10.0.2.10不允许访问DMZ…

Errno2:No such file or directory,在当前文件确实没有该图片,怎么解决?

&#x1f3c6;本文收录于《CSDN问答解惑-专业版》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收…

【论文速读】《面向深度学习的联合消息传递与自编码器》

这篇文章来自华为的渥太华无线先进系统能力中心和无线技术实验室&#xff0c;作者中有大名鼎鼎的童文。 一、自编码架构的全局收发机面临的主要问题 文章对我比较有启发的地方&#xff0c;是提到自编码架构的全局收发机面临的主要问题&#xff1a; 问题一&#xff1a;基于随…

Ae After Effects2024 for Mac 视频处理软件

Mac分享吧 文章目录 效果一、准备工作二、开始安装1、Anticc简化版安装1.1双击运行软件&#xff0c;安装1.2 解决来源身份不明的开发者问题1.3 再次运行软件&#xff0c;即可进行AntiCC安装 2. Ae2024安装2.1 打开 Ae 2024 安装包组2.2 将 Ae 安装包拖至桌面2.3 安装 Ae2024 &…

运维锅总详解进程、内核线程、用户态线程和协程

I/O 密集型应用、计算密集型应用应该用什么实现&#xff1f;进程、内核线程、用户态线程、协程它们的原理和应用场景又是什么&#xff1f;如何组合它们才能让机器性能达到最优&#xff1f;它们的死锁和竞态又是什么&#xff1f;如何清晰地表示它们之间的关系&#xff1f;希望读…

UnityHub 无法添加模块问题

文章目录 1.问题描述2.问题解决 1.问题描述 在Hub中无法添加模块 2.问题解决 1、点击设置 2、设置版本安装位置 可以发现installs的安装位置路径设置不是unity安装位置&#xff0c;这里我们更改成自己电脑unity安装位置的上一级路径 添加模块正常&#xff1a;

第二证券:70万手封单,超3亿元资金盯上这只绩优股

今天A股商场收盘共50股涨停&#xff0c;剔除9只ST股后&#xff0c;41股涨停&#xff1b;25股封板未遂&#xff0c;全体封板率为67.78%。 涨停战场&#xff1a; 超3亿元资金封板盛屯矿业 据证券时报数据宝核算&#xff0c;从收盘涨停板封单量来看&#xff0c;盛屯矿业封单量最…