《SAS编程与数据挖掘商业案例》学习笔记之十二

本次重点在:sas数据集管理   

主要包括:包括数据集纵向拼接、转置、排序、比较、复制、重命名、删除等

1.append语句

注:base数据集和data两个数据集必须结构一样,避免使用force的情况,重复append的会造成重复。

一个避免重复的商业化应用:

%macro dl;

%if %sysfunc(exist(null)) ne 0 %then %do;

proc datasets lib=work nolist;

delete null;

quit;

%end;

proc append base=null data=sashelp.class;run;

%mend dl;

%dl;

如果数据集null存在,则进行删除,否则直接append

 

另一个使用的例子;

data _null_;

x=today();

format x yymmdd10.;

call symput('data_month',put(intnx("month",x,0),yymmn6.));

run;

%put &data_month;

data a;

input month$ var;

cards;

200908 10

200909 20

200910 30

200911 40

;

data b;

input  month$ var;

cards;

200911 400

;

data a;

modify a;

if month="&data_month" then remove;

run;

proc append base=a data=b;run;

第一部分:获取当前月

第二部分:删除当前月数据

第三部分:append到数据a

其中第二部分可以用以下两个语句替代,但是效率最高的是remove,效率最低的是sql

data a;

set a;

if month="&data_month" then delete;

run;

 

proc sql;

delete from a

where month="&data_month";

quit;

 

2.sort语句

常用选项:

nodupkey:删除重复by值对应的观测

noduprecs:删除重复观测值

Descending 一定要放在降序排序的变量前。

Eg:

data a;

input x y @@;

cards;

1 20 1 10 1 30 2 40 2 50

;

run;

proc sort data=a nodupkey; by x;run;

只取排序变量的每一个by组的第一条观测值

上述代码也可以用以下代替:

proc sort data=a ; by x;run;

data b;

set a;

by x;

if first.x;

run;

返回每一个by组里面y最小的,

proc sort data=a; by x y;run;

proc sort data=a nodupkey; by x;run;

也可以用data步完成:

proc sort data=a; by x y;run;

data b;

set a;

by x y;

if first.x;

run;

 

注:如果使用了nodupkey选项,最好使用out=选项,否则原有数据集会被删除掉一部分。

对于多个字符变量需要sort的情况下,sort前先用catt之类的字符拼接函数拼接所有需要sort的字符变量。并最好使用out=选项。

data a;

length cat $100;

input x1$ x2$ x3$ y;

cat=catt(of x1-x3);

cards;

a1 b1 c1 1

a2 b2 c2 2

;

run;

proc sort data=a out=b;

by cat;

run;

以下代码也可以执行,但是效率低

proc sort data=a out=b;

by x1-x3;

run;

 

proc sort data=a ;

by x1-x3;

run;

 

3.转置transpose过程

proc transpose data= chapt6.score out= chapt6.idnumber name=test prefix=sn;

id studentid;

idlabel student;

run;

注:转置的变量为所有的数值型变量,包括test1test2final

对于默认的变量名用studentid代替,并添加前缀sn

对于默认的转之前变量名列转置后的列名_name_改为test

转置后的变量增加student

 

eg

proc transpose data= chapt6.fishdata

   out= chapt6.fishlength(rename=(col1=measurement));

   var length1-length4;

   by location date;

run;

by组中的4个变量length1-length4进行转置,系统每读取一条by观测,转置后将产生4条观测

data chapt6.fishlength2;

set chapt6.fishdata(keep=location date length1-length4);

array tr[1:4] length1-length4;

do i=1 to 4;

measurement=tr(i);

output;

end;

keep location date measurement;

run;

通过data语句实现上面的转置过程

proc transpose data= chapt6.fishlength

   out= chapt6.fishdata2;

   var measurement;

   by location date;

id _name_;

run;

列转成行

data chapt6.fishdata3;

do i=1 to 4;

set chapt6.fishlength(keep=location date measurement);

array tr[1:4] length1-length4;

tr(i)=measurement;

end;

keep location date length1-length4;

run;

通过data步骤实现列转成行

4.datasets过程

sashelp

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

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

相关文章

mikrotikROS系统的几种安装方法

这里简单介绍下几种ROS的安装方法,以及适用于哪些设备,这里我们先提供一个ROS6.0全系列版本的下载链接mikrotik-RouteOS-V6.0正式版下载 或者前往官方下载最新版常见的ROS硬件一般分为:X86架构(也是最常用的)mipsbe(欧米tik,部分RB系列,SXT,Groove等)mipsle(RBC系列,RB100,R…

分布式云+dubbo+zookeeper+Springmvc整合

2019独角兽企业重金招聘Python工程师标准>>> Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。 一:单机模式安装…

.Net下你不得不看的分表分库解决方案-多字段分片

介绍本期主角:ShardingCore 一款ef-core下高性能、轻量级针对分表分库读写分离的解决方案,具有零依赖、零学习成本、零业务代码入侵dotnet下唯一一款全自动分表,多字段分表框架,拥有高性能,零依赖、零学习成本、零业务代码入侵,并且支持读写分离动态分表分库,同一种…

知乎高赞:看懂这个颠覆世界观的认知,远比做1000道题更有用!

▲ 点击查看知乎上曾有个提问:“见过世面究竟有多重要?”其中一个点赞过万回答让无数网友产生共鸣:会讲究,能将就,能享受最好的,也能承受最坏的。见过世面的他们自然会在人群中散发不一样的气质&#xff0c…

Linux之VI命令详解

vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件。当然,对UNIX系统略有所知的人, 或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来&#xff…

WebBrowser!

WebBrowser! 原文:WebBrowser!我现在先放一些基础的文章在这里,以后再放别的上来官方范例连接http://www.microsoft.com/china/msdn/library/langtool/vcsharp/OvervwWebBrowExp.mspxQ&A 2005年5月21日 0:14:19 Q: 新键入的地址不能在新建好的窗口里打开:A:每…

Android USB Host与HID通讯(二)

2019独角兽企业重金招聘Python工程师标准>>> 原文出处:http://han21912.lofter.com/post/c3919_51401d 接上一篇:Android USB Host与HID通讯 (一) 从上篇已经可以枚举到HID设备,接下来看看寻找设备的接口和通信端点,…

数据挖掘技术在信用卡业务中的应用及实例分析

信用卡业务具有透支笔数巨大、单笔金额小的特点,这使得数据挖掘技术在信用卡业务中的应用成为必然。国外信用卡发卡机构已经广泛应用数据挖掘技术促进信用卡业务的发展,实现全面的绩效管理。我国自1985年发行第一张信用卡以来,信用卡业务得到…

ubuntu之find方法

linux 下的find 命令 小总结..谢谢大家赏光!通用格式:find pathname -options [-print -exec -ok]例子:find / -name filename 再根目录里面搜索文件名为filename的文件find /etc -name *s*在目录里面搜索带有s的文件find /etc -name *S 在目录里面搜索以s结尾的文件find /etc …

CentOS7安装PHP5.6.23

为什么80%的码农都做不了架构师?>>> 美国时间2014年11月13日,PHP开发团队,在「PHP 5.6.3 is available|PHP: Hypertext Preprocessor」上公布了PHP5.6系的最新版本「PHP 5.6.3」。 在最新的版本5.6.3不仅修改了多个Bu…

使用 Apache Pig 处理数据5

使用 Apache Pig 从大数据集中获得所需的信息 Apache Pig 是一个高级过程语言,适合于使用 Hadoop 和 MapReduce 平台来查询大型半结构化数据集。通过允许对分布式数据集进行类似 SQL 的查询,Pig 可以简化 Hadoop 的使用。本文将探索 Pig 背后的语言&…

为什么接吻需要闭眼睛?

1 你用上5G了吗?它已经用上了▼2 戴口罩的好处又增加了▼3 原来如此...▼4 哈哈哈哈▼5 露脐装的正确打开方式(素材源于网络,侵删)▼6 火鸡面到底有多辣▼7 孩子你要完了(素材来源网络,侵删&#xff0…

最近要出绩效了

上周我们公司的绩效面谈全部结束了,每年到这个时间点就是打绩效的时候了,对于职场打工人来说绩效绝对是最重要的事情之一,原因也很简单:奖金、晋升、涨薪都和它有关系。比如下面这个美团员工在脉脉上的自曝就很凄凉:互…

C++类和new、delete操作符和堆和栈内存的分配

如果你是Java、C#、PHP程序员,那么会对 new 非常熟悉,在这些编程语言中,只能通过 new 来创建对象。在C中,你可以像定义变量一样来创建对象,如: Student stu; //对象已被实例化,已分配内存空间&…

从B 树、B+ 树、B* 树谈到R 树

作者:July、weedge、Frankie。编程艺术室出品。 说明:本文从B树开始谈起,然后论述B树、B*树,最后谈到R 树。其中B树、B树及B*树部分由weedge完成,R 树部分由Frankie完成,全文最终由July统稿修订完成。 出…

在CentOS中安装gcc配置c语言开发环境(转)

From:http://hsl46346.blog.163.com/blog/static/17764050201062074955358/ From: CentOS 5.4 下gcc和gcc-c的光盘 rpm 安装方式 From: centos 安装 java CentOs是linux系统的一种,只要该操作系统安装了gcc软件包,就可以在linux操作系统中进行C语言程序设…

纯IPv6环境App适配的坑

来源:伯乐在线专栏作者 - MrPeak 链接:http://ios.jobbole.com/86580/ 苹果从2016年6月1号开始,强制所有app必须支持纯IPv6的网络环境。这项举措将对IPv6的普及起到一定的推动作用,也体现了Apple作为国际大厂的担当。 大部分App由…

使用Visual Studio 创建新的Web Part项目

使用Visual Studio 创建新的Web Part项目 Web Part是你将为SharePoint创建的最常见的对象之一。它是平台构建的核心基块。1. 管理员身份打开Visual Studio,新建空白SharePoint项目。命名WroxSPProject,点击确定。部署为场解决方案,点击完成。…

聊一聊Yarp结合Nacos完成服务发现

背景 Yarp 这个反向代理出来后,相信还是有不少人在关注的。在 Yarp 中,反向代理的配置默认也是基于配置文件的,也有不少大佬已经把这个配置做成了数据库配置可视化界面。仔细想了想,做成数据库配置,好像只是便于配置的…

相亲对象能有多油腻......

1 冰起来再烧(素材来源网络,侵删)▼2 还没从年假清醒的我(素材来源网络,侵删)▼3 孙悟空为啥没被人收去当坐骑(素材来源网络,侵删)▼4 成年人的潜台词(素材…