前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SAS进阶《深入解析SAS》之对多数据集的处理

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

作者头像
王小雷
发布2018-01-02 13:22:35
1.6K0
发布2018-01-02 13:22:35
举报
文章被收录于专栏:王小雷

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

1. 数据集的纵向串接:
代码语言:javascript
复制
数据集的纵向串接指的是,将两个或者多个数据集首尾相连,形成一个新的数据集。
据集的横向合并:
数据集的横向合并,指的是将两个或者多个数据集根据某种原则横向合并起来,形成新的数据集。
2. 数据集的纵向串接两种方法:1)使用SAS DATA步的SET语句。2)使用SAS过程步的APPEND过程。
代码语言:javascript
复制
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的两种情况:
代码语言:javascript
复制
不使用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=操作观测

代码语言:javascript
复制
数据集选项IN=可以运用在SET、MERGE、MODIFY、UPDATE语句中的任何数据集后面。

5. 数据集的更新UPDATA

代码语言:javascript
复制
DATA 新数据集;
    UPDATA 主数据集 更新数据集
            <UPDATATE=MISSINGCHECK | NOMISSINGCHCK>;
    BY 变量1 <变量2 变量3 变量4...>;
RUN;

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

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

7. 数据集的更改

代码语言:javascript
复制
7.1 单个数据集的更改MODIFY语句
DATA 原数据集;
    MODIFY 原数据集;
RUN;
7.2 两个数据集的更改MODIFY语句
DATA 主数据集;
    MODIFY 主数据集 修改数据集;
    BY  变量1  <变量2 变量3 ...>;
RUN;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SAS进阶《深入解析SAS》之对多数据集的处理
    • 1. 数据集的纵向串接:
      • 2. 数据集的纵向串接两种方法:1)使用SAS DATA步的SET语句。2)使用SAS过程步的APPEND过程。
        • 3. 数据集的横向合并使用MERGE的两种情况:
        • 4. 使用数据集选项IN=操作观测
        • 5. 数据集的更新UPDATA
        • 6. UPDATE语句和MERGE与的区别:
        • 7. 数据集的更改
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档