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

五:set语句

1.keepdrop指定变量进入或者不进入pdv

eg

Data d1(keep=name)  data  d2 (keep=name sex);

  set sashelp.class(keep=name sex  rename=(name=name_new sex=sex_new)   where=(sex='M')  firstobs=3 obs=5);

Run;

注:

黄色部分标示只有name  sex两个变量进入pdv,其余变量不会读入,这样会大大节省程序运行时间;

红色部分表示对变量进行重命名

灰色部分代表对变量进行筛选

绿色部分代表从第三个记录读到第五个记录

 

2.关于in 的应用

Data in1;

Set one(in=ina)  two(in=inb);

In_one=ina;

In_two=inb;

Run;

 

一个关于in的应用:

Data in2;

Set one(in=ina)  two(in=inb);

    If  ina=1 then flag=1;

       else flag=0;

Run;

 

3.nobspoint的应用

 

data nobs;

set fvr.test1 nobs=obs_total;

total=obs_total;

output;

stop;

run;

绿色部分是将观测数传送给临时变量obs_total;

上述语句只会返回数据集的第一条记录

 

Data point1;

   n=2;

    Set  fvr.test1 point=n;

   Output;

   Stop;

Run;

注:pointnobs一样,后面都要跟变量,而不能是常量;

Point语句必须与stop语句一起使用,凡是出现point语句必须出现stop语句,否则容易陷入死循环

pointnobs语句是相互独立的,point语句是在pdv之后,而nobs语句是咋pdv 之前;

下面一个综合应用(获取数据集最后一条记录):

Data nobs_point;

Set fvr.test1 nobs=last  point=last;

Output;

Stop;

Run;

程序解读:编译时nobs=对应数据信息(总观测条数),会传给last临时变量;

接下来程序读入test1进入pdv,读到point=选项时,数据指针会获取last的值,指针会直接指向last对应的观测值,

最后输出该观测值;停止data步的执行;

上述方法是获取数据集最后一条记录最快速的方法

像下面的语句:

Data zhu;

   set fvr.test1 end=obs_last;

   if obs_last=1;

Run;

显然这个代码需要将数据集全部读入pdv,显然是不经济的

 

4.输出多个数据集;

Data  d1  d2;

   set sashelp.class;

    if _n_ le 10 then output d1;

    else output d2;

Run ;

观测序号小于或者等于10的输入到d1,否则到d2

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

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

相关文章

你距离哈佛学霸到底有多远?实力证明,真正的学霸精神不是智商,而是。。。

▲ 点击查看科学家曾在基于脑科学和认知科学后得出一个“学习的金字塔”理论。就是下面这张图:顶端的就是我们所谓的“知识”,但为了可以达到这个顶端,下面有一系列的支撑能力。而引申出来的核心概念,就叫“玩中学”。不要想当然地…

Android之IPC通信中的UID和PID识别

PCThreadState对象维护了2个变量 pid_t mCallingPid; uid_t mCallingUid; 从变量名称来看,这2个变量保存了进程的PID和UID,并且由于这两个变量由IPCThreadState对象维护,可见它们是与IPC相关的。具体它们保存的是…

通过system调用Am命令执行动作

在底层代码中看到这样一条语句: system("/system/bin/sh -c \"am broadcast -a android.intent.action.AT_AIRPLANE_MODE --ez state true\""); system 这是干什么的啊?? 经google原来system是系统调用,执行一…

在 ASP.NET Core 中使用托管服务实现后台任务

在 ASP.NET Core 中,后台任务作为托管服务实现。托管服务是一个类,具有实现 IHostedService 接口的后台任务逻辑。ASP.NET Core 辅助角色服务模板可作为编写长期服务应用的起点。通过辅助角色服务模板创建的应用将在其项目文件中指定 Worker SDK&#xf…

Framer – 将视觉搞转换为更真实的动态原型

Framer 是一个 JavaScript 框架,简化了创建现实原型,实现完整的3D效果。以一种简单,可读的和强大的方式定义交互和创建动画。 另外还有 Framer Generator 是一个桌面应用程序,从 Photoshop 文件导入资源和和文件夹层次结构。你的…

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

5.双set语句的应用(2个指针,一个pdv) libname chapt3 f:\data_model\book_data\chapt3; data percent; if _n_ 1 then set chapt3.summary(keep cargosum); set chapt3.empcount; pctemps numemps / cargosum; run; 解读:编译后,内存中会出…

现在相亲还要体检报告了?

1 伤害性极大(素材来源网络,侵删)▼2 相亲还要看体检报告?(素材来源网络,侵删)▼3 难以启齿的地名(素材来源网络,侵删)▼4 当知道你不回家之后&#xff08…

.NET 6新特性试用 | System.Text.Json序列化代码自动生成

前言几乎所有.NET序列化程序的实现基础都是反射。下列代码是Newtonsoft.Json的实现:protected virtual JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization) {JsonProperty property new JsonProperty();property.PropertyT…

js去除左右空格

function yanzheng(val) {return val.replace(/(^\s*)|(\s*$)/g, "");}function Inputchecking() {var account document.getElementById("txt_ACCOUNT");if (yanzheng(account.value) "") {alert(请输入账号);account.focus();return false;}…

UVa 264 - Count on Cantor

《算法竞赛入门经典》5.4.1的题目,大意是,给出一个数表,如下: 第一项是1/1, 第二项是1/2, 第三项是2/1, 第四项是3/1, 第五项是2/2.....给一个正整数n,求第n项。 设第n个…

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

六:merge语句的使用(一个指针,一个pdv) merge语句是横向合并数据集,合并前必须两个数据集都要按照合并变量进行排序; proc sort datachapt3.merge_a;by x;run; proc sort datachapt3.merge_b;by bx;run; data ed; merge chapt3.me…

他解决了物理学千年争端,成就肩比牛顿、爱因斯坦,但却鲜有人知......

全世界只有3.14 % 的人关注了爆炸吧知识电磁学是经典物理学的一部分,提到电磁学就不得不提经典电动力学创始人-麦克斯韦。麦克斯韦的名气好像并不如牛顿、爱因斯坦那样家喻户晓,毕竟当提到牛顿的时候,这个公式就如同条件反射似得浮现出来&…

Windows 11 全新 4K 壁纸发布

微软近日发布 Windows 11 全新主题包 「Pantone Color of the Year 2022」,包含 4 张经重塑的壁纸。微软表示:通过这四张使用 Pantone Color of the Year 2022,,PANTONE 17-3938 Very Peri 颜色,重新定制的 Windows 11 Bloom 壁纸…

android之在view中内嵌浏览器的方法

我要做的一个东西是在一个页面的中间嵌入浏览器,一开始不知道从哪里开始,因为以前用的都是Textveiw或者editVeiw之类的控件,而它们并不能用来显示网页的内容,怎么办呢? 首先想到的是:是不是有一个用来显示网…

CCNA综合实验(一):实验拓扑与要求

一、实验拓扑 屏幕剪辑的捕获时间: 2013/5/5 星期日 16:49 IP地址分配 IP地址为192.168.1.0/24 ,,根据本地网络的需求制定子网划分方案。要求如下: R2(带有WIC-2T模块)上开启环回接口loopback 0 地址为 192.168.X.20;R…

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

八:modify语句((一个指针,两个pdv)) merge语句和update语句对数据集横向合并的主要功能还只能体现在匹配访问上,如通过by语句,对每个by组中的匹配数据集进行修改或更新,对于非常庞大的数据集需要…

C#开发微信门户及应用(10)--在管理系统中同步微信用户分组信息

在前面几篇文章中,逐步从原有微信的API封装的基础上过渡到微信应用平台管理系统里面,逐步介绍管理系统中的微信数据的界面设计,以及相关的处理操作过程的逻辑和代码,希望从更高一个层次,向大家介绍微信的应用开发过程。…

ASP.NET Web API中实现版本

一般来说,api 接口是提供给其他系统或是其他公司使用,不能随意频繁的变更。然而,需求和业务不断变化,接口和参数也会发生相应的变化。如果直接对原来的接口进行修改,势必会影响线其他系统的正常运行。这就必须对api 接…

一个娃娃竟然拍出50万......

1 瞎说什么大实话(素材来源网络,侵删)▼2 这个娃娃50万用来求婚用(素材来源网络,侵删)▼3 当代年轻人的特别祝福▼4 在福字底下加一横(素材来源网络,侵删)▼5 冰激凌…