专栏首页老Z的博客根据变量值拆分SAS数据集

根据变量值拆分SAS数据集

前几天看到一个群友提的一个问题,根据数据集中的某一个变量的值将一人大数据集拆分为多个小数据集(见上图第15题),实现这一目的的方法有多种,最常见的方法应该是宏循环,下面以根据变量SEX来拆分数据集SASHELP.CLASS为例介绍其他几种方法:

  1. CALL EXECUTE,程序如下:
proc sql;
    create table sex as
        select distinct SEX 
    	from sashelp.class
        ;
quit;

data _null_;
    set sex;
    call execute('data sex_'||cats(SEX)||'(where=(SEX='||quote(cats(SEX))||')); set sashelp.class; run;');
run;
  1. FILENAME,程序如下:
proc sql;
    create table sex as
        select distinct SEX 
    	from sashelp.class
        ;
quit;

filename code temp;
data _null_;
    file code;
    set sex;
    put ' sex_' SEX '(where=(SEX="' SEX '"))' @@;
run;

data %inc code;;
    set sashelp.class;
run;
  1. HASH,程序(SAS9.2+)如下:
proc sort data=sashelp.class out=class;
    by SEX;
run;

data _null_;
    dcl hash h(multidata:'y');
    h.definekey('SEX');
    h.definedone();
    do until(last.SEX);
        set class;
        by SEX;
        h.add();
    end;
    h.output(dataset:cats('sex_', SEX));
run;

上面几种方法中第一种方法程序行数最少,第二种方法行数最多,但是我们可以看到第一、第三种方法有多次SET的操作,所以当要拆分的数据集较大时建议用第二种方法以提高效率。

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SAS创建单级书签的PDF文件

    在用ODS PDF生成PDF文件时,为了美观有时只要一层书签(如上图),下图为多层级书签。

    专业余码农
  • SAS自动打开数据集及复制变量值

    上个月的今天,我从南到北,从深圳奔赴帝都参加了一个制药行业软件用户组2016中国区年会(PharmaSUG China 2016)。听了两天的报告,收获不少。有...

    专业余码农
  • Annotate Facility之生存曲线

    在研究肿瘤的临床实验中,通常要进行生存分析。其中最重要的分析方法之一就是乘积极限法(product-limit),简称积限法或PL法,它是由统计学家Kaplan...

    专业余码农
  • 巨头逐鹿智能医疗,AI的下一个“蓝海”初露端倪

    镁客网
  • 深度学习为什么需要工业化标准

    【导读】近日,深度学习作者Carlos E. Perez发表一篇博客,讨论了深度学习的工业化标准问题。我们知道,深度学习是当前AI领域的一个利器,其标准也不能照...

    WZEARW
  • 吴恩达回答:深度学习的泡沫何时会破?

    有人在 Quora 上问了一个匪夷所思的问题:“深度学习的泡沫何时会破?”在短短的十几个小时内,该问题就得到了 18 个回应,而且每个回应都颇有深度。下面的内容...

    钱塘数据
  • android中webview定位问题示例详解

    现在很多App里都内置了Web网页(Hyprid App),比如说很多电商平台,淘宝、京东、聚划算等等

    砸漏
  • Ubuntu 16.04 安装Hyperledger/Fabric 1.0.2

    用户2187945
  • 1715: [Usaco2006 Dec]Wormholes 虫洞

    1715: [Usaco2006 Dec]Wormholes 虫洞 Time Limit: 5 Sec  Memory Limit: 64 MB Submit:...

    HansBug
  • 【前沿】飞入寻常百姓家:DeepCognition.ai教你轻松部署AI应用

    【导读】你是否曾为选择TensorFlow或Keras而感到纠结?又是否认深度学习编程费时费力而感到苦恼?本文带大家领略一下DeepCognition.ai,其...

    WZEARW

扫码关注云+社区

领取腾讯云代金券