首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SAS Says】基础篇:描述性分析(上)

前面在我们介绍了如何开发数据——如何使用SAS的函数、如何用if-then语句如何处理SAS烦人的日期格式、如何使用retain语句SAS保存前一次变量的值,如何快捷列出SAS的变量名等等。...因为SAS认为缺失值是比字符串数值都小,所以排在了第一位。另外,由于whale shark 40的数据有两个,故因为nodupkey选项而被删除一个。说明可见日志: ?...对于字符串数值、日期变量,SAS有很多格式。...下面的代码读取数据,并使用format过程为颜色、性别汽车创建格式,并在打印数据时用format为变量指定这些输出格式: ? 输出结果为: ?...VAR variable-list; 指定分析中使用哪种数值变量,默认则使用所有的数值变量。

2.8K71

SAS Says】基础篇:3. 描述数据

本节介绍如何利用SAS写一份数据报告,给出数据的基本信息。 从3.11开始的内容,是留给处女座的,主要说如何用proc tabulateproc report产生一个更加耐看的报告。...对于字符串数值、日期变量,SAS有很多格式。...VAR variable-list; 指定分析中使用哪种数值变量,默认则使用所有的数值变量。...数值变量VS字符串变量 从proc report得到的报告类型,部分依据于使用的数值类型。只要报告中起码有一个字符串变量,默认的报告就是每个观测值一行。...选项 这个选项告诉SAS如何使用这个变量,可能的usage选项包括: Across:为变量的每一个变量值都创建一个列 Analysis:为变量创建统计量,数值变量默认有这个usage选项,且统计量默认为

3.7K101
您找到你想要的搜索结果了吗?
是的
没有找到

SAS Says】基础篇:描述性分析(下)

好吧,这一节是留给处女座的,主要说如何用proc tabulateproc report产生一个更加耐看的报告。...数值变量VS字符串变量 从proc report得到的报告类型,部分依据于使用的数值类型。只要报告中起码有一个字符串变量,默认的报告就是每个观测值一行。...选项 这个选项告诉SAS如何使用这个变量,可能的usage选项包括: Across:为变量的每一个变量值都创建一个列 Analysis:为变量创建统计量,数值变量默认有这个usage选项,且统计量默认为...可以在任何报告中使用rbreak语句,但只能在有最起码一个group或者order变量的报告中使用break语句。 例子 仍然是国家公园纪念碑的例子: ?...下面的代码将region定义为order变量,使用breakrbreak语句after选项,summarize加总数值变量的: ? 输出结果为: ?

4K50

SAS Says】基础篇:7. SAS初步

语句多了一步,在提交之后,SAS会将语句传送到处理器上,将其转变为SAS标准代码,通常叫做“变换代码”(meta-programming.)...变量 SAS宏代码包括两个基本部分:宏命令变量。变量通常加一个“&”作为前缀,而宏命令通常加一个“%”作为前缀。 局部VS全局 变量有局部变量全局变量。...,(少于等于32字节、以字母或下划线开头、只能包括字母、数字下划线),下面创建了变量: %LET iterations=10; %LET country=New Zealand; 当赋值字符串时,不需要加引号...这样的有些限制,因为它只能做一件事。现在结合%let语句,并增加参数使得其更加灵活 自动呼叫库 本书中的仅在一个程序内部定义启动。也可以将储存在一个中心位置,叫做自动呼叫库,被各个程序分享。...call symput通常在IF-THEN语句中使用: IF Age>=18 THEN CALL SYMPUT(”status”,”Adult”); ELSE CALL SYMPUT(”status”,

3.1K60

SAS Says】基础篇:SAS初步

语句多了一步,在提交之后,SAS会将语句传送到处理器上,将其转变为SAS标准代码,通常叫做“变换代码”(meta-programming.)...变量 SAS宏代码包括两个基本部分:宏命令变量。变量通常加一个“&”作为前缀,而宏命令通常加一个“%”作为前缀。 局部VS全局 变量有局部变量全局变量。...32字节、以字母或下划线开头、只能包括字母、数字下划线),下面创建了变量: %LET iterations=10; %LET country=New Zealand; 当赋值字符串时,不需要加引号。...这样的有些限制,因为它只能做一件事。现在结合%let语句,并增加参数使得其更加灵活 自动呼叫库 本书中的仅在一个程序内部定义启动。也可以将储存在一个中心位置,叫做自动呼叫库,被各个程序分享。...call symput通常在IF-THEN语句中使用: IF Age>=18 THEN CALL SYMPUT(”status”,”Adult”); ELSE CALL SYMPUT(”status”,

3K41

SAS Says】高级篇:IML(1)

进阶篇要稍晚些与大家见面,我们首先邀请Ansta为大家带来高级篇,高级篇将介绍SAS的IML模块、SQL模块、语句以及贝叶斯(插一句,如果大家觉得好,求打赏,1元不嫌少,5元不嫌多;如果大家觉得不好,...矩阵运算 (1)矩阵相乘 (2)水平连接 (3)垂直连接 (4)转置 (5)截取运算符 ---- 【SAS Says】高级篇:IML(1) 你还在一边用...我们不去比较SAS IML模块MATLAB的运算功能,只要知道,在SAS里,IMLSAS数据集做交互将会方便很多,你也不用将数据倒来倒去! 来吧,带你进入IML的世界,它不会让你失望的!...看下面的内容 2 标量、向量与矩阵 (1)定义标量 就是在iml模块里,定义数值或者字符串, 例子 proc iml; a=100; b=.; c="Hello"; print a,b,c;...(左边是语句,右边是跑出来的结果) (2)定义向量 定义一个向量/数说工作室 a={ x1 x2 x3 … xn } 比如,生成一个数值行向量一个字符行向量: 例子 proc iml; a

2K40

SAS里玩穿越 | 【SAS Says·扩展篇】IML:穿越 | 数说·语言

今天我们将介绍如何SAS里玩穿越,将数据从矩阵变成SAS数据集,从SAS数据集再变成矩阵。它将大大方便我们的使用。...---- 在SAS里玩穿越 | 【SAS Says·扩展篇】IML:穿越 本文要解决三个问题: 第一个问题:如何SAS数据集转换为矩阵来处理?...quit; Var,选择的变量不填,SAS就默认把所有数值型变量读入矩阵,生成一个数值矩阵。...我们试一下读取所有international airline travel小于120的观测值,只读取第6行的观测值: proc iml; use sashelp.air; list all where...(2)删除观测值 use 数据集; edit 数据集; delete 观测值范围 where(条件); (红色背景是必须要有的,黄色背景是可以省略的,下同,不再重复) 观测值范围上面的差不多:

2.3K60

SAS hash对象,提高编程效率性能

因此,SAS hash对象不能处理一些复杂的连接逻辑,例如范围或模糊匹配。 SAS hash对象只能在数据步骤中使用,而PROC SQL可以在任何地方使用。...因此,SAS hash对象有一些语法作用域的限制,例如不能使用变量或函数来定义键或数据变量。 SAS hash对象在数据步骤结束后会自动消失,而PROC SQL会生成一个持久的数据集。...因此,在使用SAS hash对象之前,需要评估数据集的大小可用内存的情况。 SAS hash对象如何使用?...SAS hash对象的使用需要以下几个步骤: 使用declare语句来声明一个hash对象,并指定要合并或拼接的数据集 。...当然,SAS hash对象也有一些局限性注意事项,需要根据具体情况需求来选择是否使用它。希望本文能给大家提供一些有用的信息参考。

45220

SAS里玩穿越 | 【SAS Says·扩展篇】IML:5.穿越

作业 | 编一个SAS回归软件 ---- 一直以来,大众了解的SAS都是数据集操作,使用的方法是数据步过程步。...今天我们将介绍如何SAS里玩穿越,将数据从矩阵变成SAS数据集,从SAS数据集再变成矩阵。它将大大方便我们的使用。...---- 在SAS里玩穿越 | 【SAS Says·扩展篇】IML:穿越 本文要解决三个问题: 第一个问题:如何SAS数据集转换为矩阵来处理?...quit; Var,选择的变量不填,SAS就默认把所有数值型变量读入矩阵,生成一个数值矩阵。...我们试一下读取所有international airline travel小于120的观测值,只读取第6行的观测值: proc iml; use sashelp.air; list all where

1.7K70

SAS PDV:程序数据向量的秘密

SAS PDV是如何生成更新的? SAS PDV有什么作用和好处?SAS PDV是什么?SAS PDV是一个逻辑内存区域,它是在DATA步的编译阶段生成的。...它包含了所有变量的当前值一些自动生成的变量,如_N_、ERROR、FIRST.、LAST.等。这些变量可以用于实现一些复杂的逻辑功能。SAS PDV是如何生成更新的?...在执行阶段,SAS会按照以下步骤循环处理每一行数据: 从DATA语句开始,将_N_设为1,并在每次迭代后加1 将PDV中的所有变量设为缺失值,并初始化自动变量 用INPUT语句将一行数据从输入缓存区读入到...可以优化程序的效率,如减少不必要的变量、语句循环。例如,在DATA步中使用DROP或KEEP语句或选项来删除或保留不需要输出到新建数据集中去得变量;这样可以节省内存空间运行时间。...可以更好地理解SAS 的数据处理过程,如编译阶段执行阶段 的区别联系。例如,在编译阶段使用LENGTH或ATTRIB语句来指定变量 的长度;在执行阶段使用IF或WHERE语句来选择观测。

41120

sas ods html的作用是什么意思,SAS ODS「建议收藏」

SAS程序的输出可以转换为更加用户友好的形式,如.html或PDF。 这是通过使用SAS中提供的ODS语句来完成的。 ODS代表输出传递系统。...它主要用于格式化SAS程序的输出数据到好的报告,这是很好看的理解。 这也有助于与其他平台软件共享输出。 它还可以将多个PROC语句的结果合并在一个文件中。...语法 在SAS中使用ODS语句的基本语法是:ODS outputtype PATH path name FILE = Filename and Path STYLE = StyleName ; PROC...我们可以看到提到的路径中的输出文件,我们可以下载它以保存在不同于SAS环境的环境中。 请注意,我们有两个proc SQL语句,它们的输出都捕获到一个文件中。...我们可以看到提到的路径中的输出文件,我们可以下载它以保存在不同于SAS环境的环境中。 请注意,我们有两个proc SQL语句,它们的输出都捕获到一个文件中。

1.1K20

SAS Says】基础篇:2. 读取数据

INPUT语句是数据步的一部分,它告诉SAS如何读取原始数据。...如果变量是字符串,后面要价“$”号,值与值之间至少有一个空格,语句要以分号结束。如: ? 这表明输入三个变量,其中name是字符串,ageheight是数值变量。...Input后面是变量名,ToadName是字符串变量,其他是数值变量;proc print过程用来输出数据集中所有的变量观测值;title语句用告诉SAS输出顶部的标题,如果不指定标题,SAS将以“the...这个语句表明,Name变量,在行中占据第1列第10列,为字符串变量,age占据第11-13列,为数值变量,height占据第14-18列,数值变量。 例子 原始数据记录如下: ?...SAS中,informats可以用来告诉电脑如何读取这样的数值

5.4K60

SAS Says】基础篇:读取数据(上)

(Input语句还将在2.52.15中讨论) ? 外部原始数据 数据外SAS程序外部时,使用INFILE语句告诉SAS外部数据的文件名存放路径,它在data语句之后,在INPUT语句之前。...过长记录 在一些操作环境中,SAS假定外部数据文件的记录长度为256或更少(记录长度是指某行中的字符数,包括空格),如果长度过长,SAS不能读取全部,此时需要在INFILE语句中使用LRECL=来指定长度...INPUT语句是数据步的一部分,它告诉SAS如何读取原始数据。...如果变量是字符串,后面要价“$”号,值与值之间至少有一个空格,语句要以分号结束。如: ? 这表明输入三个变量,其中name是字符串,ageheight是数值变量。...Input后面是变量名,ToadName是字符串变量,其他是数值变量;proc print过程用来输出数据集中所有的变量观测值;title语句用告诉SAS输出顶部的标题,如果不指定标题,SAS将以“the

3.3K70

【学习】七天搞定SAS(六):的编写、程序调错

SAS各种繁杂的PROC之后,还要来看看MACRO才可以嘛。又不能写函数... SAS中的MACRO:编写 MACRO主要是DO%LET的各种组合,前者负责循环后者负责变量。...结果如下: 当然MACRO中也会有需要判断的时候,这就是IF上场之时啦: image.png 比如周二,那么翻译出来的SAS代码就是: image.png 最终得到的结果为: SAS中使用CALL...SAS MACRO的DEBUG调试 这里就是一些基本的找错技巧了: 避免最常见的语法错误:先写一般的SAS语句,然后去替换需要用到变量的部分。...或者其他类似的语句无法被SAS理解的。 还有就是输入数据不正确或者有缺失值什么的...这个我觉得在数据源是数据库管理系统的时候,不是什么问题......还有就是数值型被转换成文本型...报错类似于: image.png 我们利用PUTLOG可以一步步的输出SAS计算的过程: image.png 这样也有利于查错。

3.8K60

SAS-走近Log,实现程序的“风险控制”

(下面举个例子,将变量字符型转换成数值型(日期),采用input的方式,此次为数据问题,非程序问题,但是此处的黑色error是可以通过程序去避免产生的)。 ? ?...SAS如何将Log导出?...该如何做到?...3、Check变量的几个函数的使用 ? 此函数是检查你的变量(局部变量)是否定义。SAS中一个有3个函数Check 变量是否定义。如下(借用官网的几个实例) ? ? ?...其功能就是执行语句,其实这里可以写很多的这种执行语句,不过小编还是用的不是很习惯,其实不能说是用的不习惯,因为用的过程中遇到了一点问题,暂时还没解决,因为觉得是execute语法的有点限制,不细说了,因为我也不太清楚

3.2K20

【知识】SAS学习笔记(1--2)

SAS数据集 SAS数据集(SAS Datasets)可以看作由若干行若干列组成的表格,类似于一个矩阵,但各列可以取不同的类型值,比如整数值、浮点值、时间值、字符串、货币值等等。...一个SAS数据库实际是磁盘上的一个子目录(特殊情况下一个数据库可以由几个子目录组成)。为了把库名子目录联系起来,使用LIBNAME语句。...表达式把常量、变量、函数调用用运算符、括号连接起来得到一个计算结果。 SAS常量主要有数值型、字符型两种,并且还提供了用于表达日期、时间的数据类型。...SAS变量的基本类型有两种:数值字符型。日期、时间等变量存为数值型。SAS数值型变量可以存储任意整数、定点实数、浮点实数,一般不关心其区别。数值型变量在数据集中的存贮一般使用8个字节。...','上海') 逻辑运算符:&(AND) l (OR) ^(NOT) 连接两个字符串的l l(两个连续的l号) 取两个运算值中较大一个的(比如3 5结果为5),取两个运算值中较小一个的>< 1.2

1.9K70

SAS-编程中的小技巧(三)

&i.; %end; %mend; %dsloop; 这段代码的效果可以获取SASHELP逻辑库下所有的数据集个数,并逐一赋值给变量,利用循环进行一些操作...dictionary.tables :这里的...;run;"); run; 此处例子,是将SASHELP.CLASS中数值型变量衍生成字符型....从这个例子中可以引申出很多类似的操作,大量变量对于同一指标的筛查,变量批量rename,批量加label...等等,可见小编历史推送Macro-csv2sas(可控制变量Length)(虽然这个有人吐槽不好,不过小编也懒得改了...)里面好像是有这样操作的例子,当然还可以进行一些语句判断啊等等.......快速删除数据集 经常,我们需要在SAS中删除一些数据集...那么如何删除数据集呢?删除的方法众多...来见见一些常见的方法......,你自己写的测试程序....整理的知识点啊,资料啊....当然小编觉得这也是一个财富,如果以后你需要带人,你就可以稍微整理下自己的笔记一股脑的丢给新人 ?

2.1K20

SAS-关于日期处理的那些事...

在编程过程中,日期、时间的处理是很常见的,SAS中也有很多日期处理相关的语法或函数,那么今天就与小编一起来看看,针对日期、时间的哪些编程的语句.......是的,有的1900-01-01是Excel里面日期的生日;他们的本质其实都是一个数值,不知道你们在将excel导入SAS的时候,有没有遇到Excel里面的日期导入到SAS就变成了一个3-4W的数字..反正我是遇到过的.....自定义函数其实也是将函数存储到SAS的一张表中(这里感觉是SAS定义format是一样的),然后可以将表解析出来函数来。。。...就是通过option选项来让SAS知道你自定了函数,option cmplib=数据集(自定义函数储存所在的数据集...) 自定义函数的好处,让很长的代码变的精简,就类似于SAS里面的一样......,一样,慢慢的积累就能很好的提高编程的效率...

3.6K30
领券