SAS进阶《深入解析SAS》之对多数据集的处理

SAS进阶《深入解析SAS》之对多数据集的处理

1. 数据集的纵向串接:

数据集的纵向串接指的是,将两个或者多个数据集首尾相连,形成一个新的数据集。
据集的横向合并:
数据集的横向合并,指的是将两个或者多个数据集根据某种原则横向合并起来,形成新的数据集。

2. 数据集的纵向串接两种方法:1)使用SAS DATA步的SET语句。2)使用SAS过程步的APPEND过程。

2.1. 使用SET步纵向串接形式如下:
DATA 新数据集;
    SET 数据集1 数据集2 <数据集3 数据集4 ...>;
    BY 变量1 <变量2 变量3 变量4...>;
RUN;

使用APPEND过程
PROC APPEND BASE=主数据集 <DATA=追加数据集> <FORCE>;
2.2. 使用APPEND过程,SAS不会处理主数据集中的观测,而是直接将追加数据集的观测添加到主数据集最后一条观测后面,且变量仅包含主数据集中的变量。

3. 数据集的横向合并使用MERGE的两种情况:

不使用BY语句合并,也称为一对一合并。
DATA WORK.COMBINED;
    MERGE WORK.DATA1 WORK.DATA2;
RUN;
一对一合并原则:1)新数据集的第一条观测包含各个输入数据集中第一条观测的信息,第二条观测包含各个数据集中第二条观测的信息,不足的观测用缺失值不足。2)新数据集含有的观测数为所有输入数据集的最大观测是数。

使用BY语句合并,也称为匹配合并。
DATA WORK.COMBINED;
    MERGE WORK.DATA1 WORK.DATA2;
    BY Year;
RUN;

4. 使用数据集选项IN=操作观测

数据集选项IN=可以运用在SET、MERGE、MODIFY、UPDATE语句中的任何数据集后面。

5. 数据集的更新UPDATA

DATA 新数据集;
    UPDATA 主数据集 更新数据集
            <UPDATATE=MISSINGCHECK | NOMISSINGCHCK>;
    BY 变量1 <变量2 变量3 变量4...>;
RUN;

6. UPDATE语句和MERGE与的区别:

1)UPDATA语句只能操作两个数据集;MERGE语句可以对两个或者两个以上数据集进行操作。
2)使用UPDATA语句时必须使用BY语句;MERGE语句在不使用BY语句时也可以按观测号进行一对一合并。
2)在处理缺失值时,UPDATA语句可以控制是否用缺失值对主数据集进行替换;MERGE语句中后一数据集中的缺失值一定能会覆盖前一数据集中的值。
4)当BY变量值在后一数据集或者更新数据集中不唯一时,UPDATA语句和MERGE语句的处理方式不一样。

7. 数据集的更改

7.1 单个数据集的更改MODIFY语句
DATA 原数据集;
    MODIFY 原数据集;
RUN;
7.2 两个数据集的更改MODIFY语句
DATA 主数据集;
    MODIFY 主数据集 修改数据集;
    BY  变量1  <变量2 变量3 ...>;
RUN;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

【学习】请速度收藏,Excel常用电子表格公式大全

1、查找重复内容公式:=IF(COUNTIF(A:A,A2)>1,”重复”,””)。 2、用出生年月来计算年龄公式:=TRUNC((DAYS360(H6,”2...

3508
来自专栏数据的力量

Excel公式大全,高手进阶必备

1335
来自专栏贾志刚-OpenCV学堂

手撕OpenCV源码之高斯模糊

从上述代码的大致分析中可以知道,OpenCV的GaussianBlur本质上依然是filter2D,只是针对一些特殊情况进行了GPU和CPU版本的优化,如果输入...

1972
来自专栏落影的专栏

OpenGL ES学习阶段性总结

前言 最近观看下面这本书有感,结合之前的学习,对OpenGL的知识进行回顾。 ? 概念 帧缓存:接收渲染结果的缓冲区,为GPU指定存储渲染结果的区域。 ...

3928
来自专栏marsggbo

LaTeX IEEE模板

网上有很多LaTeX软件,在线编辑器推荐Overleaf。但是我个人还是更喜欢离线写东西,所以尝试过各种编辑器,例如VSCode等等,这些编辑器都需要自己搭环境...

1262
来自专栏10km的专栏

faster rcnn demo.py:在一个窗口显示所有类别标注

faster rcnn 的demo.py运行时,对于同一个图像,每个类别显示一个窗口,看起来不太方便,顺便小改一下,让一幅图像中检测到的所有类别物体都在一个窗口...

3519
来自专栏JadePeng的技术博客

贝叶斯文本分类c#版

关于这个话题,博客园已经有多个版本了 基于朴素贝叶斯分类器的文本分类算法(上) 也谈贝叶斯分类(C#)版本 PyMining-开源中文文本数据挖掘平台 Ver ...

3355
来自专栏hanlp学习笔记

Spark应用HanLP对中文语料进行文本挖掘--聚类

用到的知识:HanLP、Spark TF-IDF、Spark kmeans、Spark mapPartition;

790
来自专栏PPV课数据科学社区

Excel公式大全,高手进阶必备!

第一部分:常用函数和公式 查找重复内容公式:=IF(COUNTIF(A:A,A2)>1,"重复","")。 用出生年月来计算年龄公式:=TRUNC((DAYS3...

3072
来自专栏算法channel

机器学习储备(9):matplotlib绘图原理及实例

? matplotlib绘图的基本元素都包括都哪些?常用的绘图API如何应用。本文做个入门介绍吧。 1 基本元素 通过一个大部分都是用默认值的例子,初步认识下...

3328

扫码关注云+社区