
SAS
xingkong_dahai
这个作者很懒,什么都没留下…
展开
-
SAS取消正在运行的语句——Run Cancel
假设运行如下代码:data a; set sashelp.class;编辑器会有如下提示:原因是没有运行run语句。遇到这种情况,通常点击菜单栏的“中断”图标,然后选择“取消提交的语句”即可停止当前运行的程序,如红色箭头所示:还有另外一种解决方式,即运行run cancel语句。run cancel;如上内容来翻译 2016-03-26 15:08:38 · 4475 阅读 · 0 评论 -
数值相同的变量为何判断为不相等?
首先来看下面两段代码:data a;length x8 8 x4 6;retain x8 0.1 x4 0.1;run;data _null_;set a;put x8= x4=;if x8=x4 then put "Equal";else put "Unequal";run;输出结果为:x8=0.1 x4=0.1Unequal翻译 2016-03-26 15:39:44 · 2481 阅读 · 0 评论 -
SAS中的if过滤语句
在SAS中,if语句和where语句都有过滤作用,请看如下两端代码,其效果是相同的:data a; set sashelp.class; if sex eq "男";run; data a; set sashelp.class; where sex eq "男";run;if 过滤语句的基本语法为"if 条件",其完整形式翻译 2016-03-26 15:49:23 · 16604 阅读 · 0 评论 -
在SAS中创建空数据集的几种方法
1.空数据集同时建立新变量data a;length var1 $10. var2 8;stop;run;2.利用已有数据集信息建立空数据集;方法1:data a;set sashelp.class;stop;run;方法2:data a;set sashelp.class(obs=0);r翻译 2016-03-26 15:23:36 · 12734 阅读 · 0 评论 -
SAS使用where keep drop rename obs 选项使用时需注意的几点
在使用data或set语句时:1.keep和drop选项不能同时使用;2.如果同时使用keep和rename选项,那么keep=原有变量名称;3.如果同时使用where、firstobs和obs选项,那么SAS优先按where条件筛选,where筛选后,再按照firstobs和obs筛选。如上内容来自《Professional SAS翻译 2016-03-26 15:18:28 · 8929 阅读 · 0 评论 -
SAS如何在不排序的情况下使用by语句
排序是SAS中非常常用的一个操作。尤其是在merge之前,通常是要排序的。SAS在进行排序时,会在C盘开辟出一块临时空间,排序的数据集越大,临时空间也越大。因此,如果电脑的C盘空间不足,排序会被迫停止,并且在日志中报错。那么如何在不排序的情况下,使用by语句呢?答案是创建索引。如下面代码所示:data a_1402;input id $ var1;datalines;3 1翻译 2016-03-26 15:59:12 · 3365 阅读 · 0 评论 -
SAS中生成哑变量的一段宏代码
我们在建模时,可能经常会有一些将分类变量(categorical variable)转换成哑变量(dummy variable)的需求。例如“成绩”是一个分类变量,内容包含“优,良,中,差”四个分类,转换成哑变量之后,新生成了四个二元变量(binary variable),每个变量只有0和1两个值,通常0表示“否”,1表示“是”。貌似SAS中没有生成哑变量的过程步,因此自己写了一段宏实现了这个原创 2016-03-26 16:27:45 · 6949 阅读 · 1 评论