数据分析与SAS学习笔记3
SAS在最新的展示图,表现力比较丰富。
SAS的处理流程:
数据步 过程步:
ETL是数据分析非常重要的步骤。70%-90%花在收集数据以及整理数据,数据分析数据的时间不是很多的。
一个完整的数据步和过程步:
数据步基本语句总结:
DATA
INPUT (难度最大)
DATALINES(CARDS)和ATALINES
LENGTH
LABEL
LOSTCARD
INFORMAT/FORMAT
MISSING
OPTIONS
DATA语句:
格式:DATA <数据集名> <选项>
常用选项:label=为数据集提供标记;DROP=列出不包括在数据集中的变量
缺省逻辑库为work
同一次会话过程中,可以有多个DATA语句创建多个数据集。最后建立的为当前数据集
如果分析工作不需要建立数据集,DATA语句中的数据集名可以用_NULL_
说明:
1)sas关闭,临时数据库work中的数据集会被删除掉;那么就要创建永久数据集;
DATA例子:当前数据集
data student;
input num $ name $ sex $;
datalines;
060101 zhangsan f
060102 liling m
060201 liufeng fdata score;
input num $ phy math engl;
datalines;
060101 89 90 77
060102 92 70 88
060201 80 84 75proc print;
/* proc print data=student; */
run;
代码说明:
1)input语句 定义内置数据中定义三个变量,后面跟$,表示读入的字符的变量。
2)datalines:相当于cards,用来定义内置数据。
3)proc print; 输出的是哪个数据集呢?默认是输出最后的数据集,就是当前数据集score;
4)proc print data=student; 指定数据集student输出。
DATA 例子:空数据集
data _null_;
a = sin(3.14159/4);
put a;
run;
代码说明:
1)定义一个变量a,值是正弦函数;
2)put a: /* 显示a的值 */
3)data _null_: 定义空的数据集,产生的变量也不会放到数据集,在硬盘中不会产生任何东西。
DATA例子:永久数据集
libname ep 'e:\saslx';
data ep.students;
input num $ name $ sex $ h w;
datalines;
020801 zhangling f 1.56 47.1
020802 zhaohua m 1.72 61.5
030813 wangqang m 1.69 64.5
030824 liuli f 1.58 53.6
030815 shidong f 1.60 48.0
;proc print;
run;建立永久数据集后, 下次可以直接调用
libname ep 'e:\saslx';
proc print data=ep.students;
代码说明:
1)创建逻辑库ep,对应硬盘中的e盘的某目录路径;
2)指定的数据集是ep下面的students数据集;
3)然后输出;
4)下次再登录,可以输出ep.students,说明数据被永久保存在硬盘中。
INPUT语句:在数据步中最关键的部分。
用于描述输入的数据。从外部文件infile或紧跟的CARDS读入数据,赋给该语句列出的各个变量。每个列应该怎么读,它的类型是什么样的。
格式:INPUT <数据项描述>......中间用空格分开就行了。
一般认为读入的数据是数值型,除非:1 变量名后有$号,2 使用字符的输入格式表示;3 变量事先被定义成字符型;
数据中的缺项值用"." 表示。如果读入数据与数据类型不匹配,则按无效数据置为缺项值;
说明:
1)数据项描述:中间默认用空格分开就行;
2)数据中有空值,在SAS中,是用缺项值表示,缺失值。缺项值用一点来表示。
3)数据与数据类型不匹配,则为缺失值。
INPUT语句:数据项描述
方法一:列表或自由格式;
方法二:列
方法三:格式化
列表输入:
格式:INPUT 变量名 [$] ....;
对输入数据的要求:1)输入数据项之间至少被1个空格分隔;2)用句号表示缺失值;3)字符型变量缺省默认最大长度为8,除非用LENGTH、ATTRIB、INFORMAT等语句给定更长的长度;INPUT语句中列出的变量顺序要跟输入数据的顺序一致。
如果INPUT后变量数量少于输入数据中的列数,则后面的列被略去
如果输入数据前后包含空格,会被判为作为分隔符的空格
说明:
1)没有$,就是数值型,有$,就是字符型;
2)至少一个空格;列之间连在一起没有空格,INPUT就无法辨认;
3)用英文句号来表示缺失值;
4)变量的长度的重新定义;
INPUT语句:列输入:
格式: INPUT变量名[$] 开始列[-结束列];
输入值可以以任何的次序读入,而不管它们在输入记录中的位置;
字符型数据可以包含空格。全部是空格或只含一个"."的字段被解释为缺失值。
可读全部或者部分数据
DATA;
input ID $1-18 birthyear 7-10 name $ 19-29;
Age = YEAR(DATE())-birthyear;
DATALINES;
210103195909123912zhanglin
210104195007231234liuli
211110195208113421linzexu
;
proc print;
run;
代码说明:
1)这是列输入,ID是从第1个字符到第18个字符;birthyear 是从第7个字符到第10个字符,每个字符都是一列。name:就是从第19个列到第29列,就是从19个字符到29个字符;
2)AGE DATE,SAS是从60年代就有了,SQL通用语言有很多地方借鉴了SAS。
3)AGE这列是通过赋值语句产生的。
格式化输入:
格式:INPUT变量名 <修饰符> 输入格式....;
输入格式例子:INPUT name $10. birthday mmddyy10. weight 4.1; (解释)
说明:10. 是输入格式。mmddyy10. 表示的是10位的mmddyy格式。4.1 数字有4位这么长,保留小数点1位。
DATA days;
INPUT num $3. name $14. birthday mmddyy8. weight 4.1;
DATALINES;
081ZHANGLIN 7-21-86 60.5
082ZHAOHUA 10/30/86640
083WANGQANG 06 19 8659.5
084LIULI 03 07 8763
;
proc print;
run;
数据中的年月日之间应用特殊符号或空格隔开。格式化输入时,数据项不再以空格作为结束标志,而是由读指针按给出的格式长度移动,依次读数据项。数据前后的空格也要计算在内。
1)我们看到时间显示比较特别;birthday不是我们能认识的时间,直观看起来从某年某月某日的天数。mysql中是从1970年开始进行的。
2)weight:640,读出来的是64.0,SAS是先把小数点后一位先读出来;63,SAS先把3先作为小数点后面读出来。
FORMAT语句的使用。是worddate格式显示的。
INPUT语句:格式列表
例子:
input(score1-score5)(4. 4. 4. 4. 4.);
input(score1-score5)(4.);
input(name score1-score5)($10. 5*4.);
代码说明:
1)score1是数值型,4位;
2)第二行,4. 表示所有的变量都是4位宽;
3)第三行:$10. 表示10个字符长,5*4. 表示5个变量全部都是4位。
相关文章:
数据分析与SAS学习笔记3
SAS在最新的展示图,表现力比较丰富。 SAS的处理流程: 数据步 过程步: ETL是数据分析非常重要的步骤。70%-90%花在收集数据以及整理数据,数据分析数据的时间不是很多的。 一个完整的数据步和过程步: 数据步基本语句总…...
天干地支蓝桥杯国赛
题目 分析 蓝桥杯国赛2020简单模拟题,你敢信,就是弄两个字符串数组。重点在于知道0000年是从哪个天干和地支开始的。 代码 #include <iostream> using namespace std;int year;int main() {cin >> year;string tiangan[10] {"geng&…...
Source lnsight工具的简单使用
多文件编程推荐用Source lnsight工具来进行编写 一、Source lnsight工具的简单使用 1、在桌面上新建一个文件夹factory,在文件夹里新建一个cat.c文件和si文件夹 2、打开Source lnsight工具,点击上方Project--->New Project 3、把文件夹factory中si文…...
100个变态的软件测试面试题及答案!——看完变态面试官对你竖起大拇指!
【纯干货!!!】花费了整整3天,整理出来的全网最实用软件测试面试大全,一共30道题目答案的纯干货,希望大家多多支持,建议 点赞!!收藏!!长文警告&…...
Windows保护机制GS:原理及SEH异常处理突破
前言 本次文章只用于技术讨论,学习,切勿用于非法用途,用于非法用途与本人无关! 所有环境均为本地环境分析,且在本机进行学习。 GS机制并没有对SEH提供保护,换句话说我们可以通过攻击程序的异常处理达到绕…...
大彩 串口屏
资料下载 视频 屏幕程序创建 创建 主界面设置 实现按钮和文本的添加,实现画面的切换 下面注释4有点问题,切换画面还是会下传指令集,只是无法在软件中进行指令集的设置了 按钮界面 首先第一步同上添加背景图片,然后添加…...
安装 cplex 求解器
安装 cplex 求解器 安装 cplex 求解器和python-docplexcplex 安装matlab 用户安装 cplexpython 版本安装 cplex 求解器和python-docplex cplex 安装 cplex 是解决优化问题的一个工具箱,用来线性规划、混合整数规划和二次规划的高性能数学规划求解器。可以理解成&a…...
DPR-34 AC22V【双位置继电器】
系列型号: DPR-20双位置继电器;DPR-31双位置继电器; DPR-32双位置继电器;DPR-33双位置继电器; DPR-34双位置继电器;DPR-35双位置继电器; DPR-11双位置继电器;DPR-12双位置继电器&…...
Ubuntu16.04搭建Fabric1.4环境
一、换源 为了提高下载速度,将ubuntu的源改成国内的源(推荐阿里云源和清华源) apt源保存在 /etc/apt/sources.list / 代表根目录 /etc 这个文件夹几乎放置了系统的所有配置文件 1.备份 sudo cp /etc/apt/sources.list sources_backup.l…...
【JavaScript】深度剖析prototype与__proto__到底是什么以及他们的关系
一个对象的 __proto__ 指向的是这个对象的构造函数的 prototype。 prototype 是什么 prototype 是函数的属性,是一个继承自 Object 的对象,默认的 prototype 只有一个属性,其中包含 constructor,指向当前函数自身。 Ctor.proto…...
css选择器
目录1、基本选择器(1)id选择器(2)类选择器(3)标签选择器(4)逗号选择器(5)*选择器(通配符选择器)2、包含选择器(1ÿ…...
MyBatis详解2——增删改查操作
一、SpringBoot单元测试 1.1什么是单元测试 单元测试是指对软件中的最小测试单元进行检查和验证的过程。 执行单元测试就是为了证明某段代码的执行结果是否符合我们的预期。如果测试通过则是符合预期,否则测试失败。 1.2单元测试的好处 1.单元测试不用启动Tomca…...
最大连续子列和
给定一个数组,求它的最大连续子列和。这个问题有四种解法。 1、暴力循环(O(n^3))分析这个问题,既然是子列,那么它最长为n,最短为1。要想求和我们一般需要知道这个子列的左端下标和右端下标,再求这个子列的和。最简单的…...
线性基 学习笔记
什么是线性基? 先来回顾一下向量空间中的基。这个基代表着空间的一个极大线性无关子集,组中向量线性无关,且空间中的任意一个向量都可以唯一地由基中的向量来表示 那么回到线性基,它其实就类似于是一个向量空间的基 我们考虑一…...
算法-回溯算法-组合问题
77. 组合https://leetcode.cn/problems/combinations/ 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,…...
ABAP中的Null值与space 以及 BW中ADSO的Key值
写出来怪丢人,到现在还没搞懂这个。 在BW中创建ADSO,定义Key字段。可以看到ADSO表的定义中,所有的Key和Data属性如下: 所有的key会有关键字key打头,所有字段都有not null. 但是并不是有个字段是blank空的就不能更新进…...
JavaScript库之Lodash常用方法
Lodash 中文文档https://www.lodashjs.com/docs/lodash.omit/以下总结了在项目中常用的方法,其他的慢慢更新语言:cloneDeep这个方法类似_.clone,除了它会递归拷贝 value。(注:也叫深拷贝)参数value (*): 要…...
Kotlin新手教程二(Kotlin基本数据类型及基础语法)
一、基本数据类型 1.数字 由于Kotlin支持类型推断,所以在使用时若超出Int的范围则会被认定为其它类型;若需要显式指定Long型值,则需要在值后添加L后缀。 2.浮点数 3.比较两个数( 和 ) Kotlin 中没有基础数据类型&a…...
git idea创建新分支,获取/合并主支代码的2个方法
其他sql格式也在更新中,可直接查看这个系列,要是没有你需要的格式,可在评论或私信我 个人目录 获取主支代码的2个方法1,创建一个分支,获取主支的所有代码(场景:我需要一个自己的分支进行编写模…...
CF1714A Everyone Loves to Sleep 题解
CF1714A Everyone Loves to Sleep 题解题目链接字面描述题面翻译题目描述输入格式输出格式样例解释题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1代码实现题目 链接 https://www.luogu.com.cn/problem/CF1714A 字面描述 题面翻译 题目描述 Vlad和其他人一样&am…...
oracle官方下载历史版本JDK版本
背景 日常工作中由于一些特殊原因,我们需要下载指定系统指定位数指定版本的jdk,这个时候去网上搜索下载就会遇到各种坑,病毒、诱导连接、诱导关注/注册、付费、错误版本等,所以最好的办法是去官网下载,下面列举两种方式…...
双击-jar包无法运行解决方法
我自己是通过探索出来的方法解决的,网上的方法适合普通问题 网络流传方法 那种-jar和run.bat的就是曲解了问题意思,问题不是如何运行,而是如何双击jar包就可以直接运行。 普通小问题就是修改注册表,将java路径写进去后面加个 %1…...
程序员的自我修养第七章——动态链接 (下)
接上一篇。 7.3 地址无关代码 对于现代机器来说,引入地址无关代码并不麻烦,我们展示下各种模型的地址引用方式: 1. 模块内部函数调用 2. 模块内部的数据访问,如全局变量、静态变量。 3. 模块外部的函数调用,跳转。 4.…...
蓝桥杯刷题——基础篇(二)
这部分题目,主要面向有志参加ACM与蓝桥杯竞赛的同学而准备的,蓝桥杯与ACM考察内容甚至评测标准基本都一样,因此本训练计划提供完整的刷题顺序,循序渐进,提高代码量,巩固基础。因竞赛支持C语言、C、Java甚至…...
PTA L1-049 天梯赛座位分配(详解)
前言:内容包括:题目,代码实现,大致思路,代码解读 题目: 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策…...
Linux部分参数作用讲解
♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放࿰…...
Java kafka
JAVA面试题--Kafka(最新最全) 目录概述需求:设计思路实现思路分析1.URL管理2.网页下载器3.爬虫调度器4.网页解析器5.数据处理器拓展实现性能参数测试:参考资料和推荐阅读)Survive by day and develop by night. talk for import b…...
DBA之路---Stream数据共享同步机制与配置方法
oracle的Stream解析–数据共享 在g版本常用,如果是c版本项目一般都会选择goldengate,比stream靠谱多了 Oracle中的stream是消息队列一种应用形式,原理如下: 收集oracle中的事件,将事件保存在队列里,然后将…...
CF1790E Vlad and a Pair of Numbers 题解
CF1790E Vlad and a Pair of Numbers 题解题目链接字面描述题面翻译题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1思路代码实现题目 链接 https://www.luogu.com.cn/problem/CF1790E 字面描述 题面翻译 共有 ttt 组数据。 每组数据你会得到一个正整数 xxx&…...
漏洞预警|Apache Kafka Connect JNDI注入漏洞
棱镜七彩安全预警 近日网上有关于开源项目Apache Kafka Connect JNDI注入漏洞,棱镜七彩威胁情报团队第一时间探测到,经分析研判,向全社会发起开源漏洞预警公告,提醒相关安全团队及时响应。 项目介绍 Karaf是Apache旗下的一个开…...
乌鲁木齐疫情最新消息/站长工具seo查询软件
上文中主要介绍了Kafka 的消费位移从Zookeeper 转移到了自己管理。本文主要介绍一下位移的提交方式。 Consumer 需要向 Kafka 汇报自己的位移数据,这个汇报过程被称为提交位移。因为 Consumer 能够同时消费多个分区的数据,所以位移的提交实际上是在分区粒…...
建一个网站需要哪些费用/软文发布平台与板块
文/小伊评科技还是那个结论,我不认为现阶段的鸿蒙OS能够在手机这种载体上真正的挑战Android以及IOS,但是未来就不一定了。作为例子,早些年微软凭借WindowPhone以及对于诺基亚的扶持都没能从IOS和安卓手上抢下市场,反而最后落得一个…...
做一钓鱼网站吗/谷歌浏览器下载手机版最新版
GBase 8c Platform提供集群管理功能,可便捷高效地实现数据库集群的部署、外部导入、启停、同步设置、备份、恢复、扩缩容等操作。用户可以创建新集群、导入外部集群,还具有丰富的集群管理功能。 界面默认显示已部署的数据库集群配置信息。通用管理平台对…...
盐城市规划建设局网站/百度爱采购优化
公众号关注 「奇妙的 Linux 世界」设为「星标」,每天带你玩转 Linux !据BleepingComputer 2月10日消息,Clop 勒索软件组织最近利用 GoAnywhere MFT 安全文件传输工具中的零日漏洞,从 130 多个企业组织中窃取了数据。该安全漏洞被追…...
爱站网长尾关键词搜索/企业网站设计要求
1、Symbol es6新增的数据类型 1)概念 提供一个独一无二的值 let aSymbol() let bSymbol() 或 let cSymbol.for(c) let dSymbol.for(c) c是一个key,标识着这个独一无二的变量 2、数据结构 1)set Set中的元素不可重复 其长度用.size表征 添加重复元素&…...
做网站分销违法吗/沈阳优化推广哪家好
显卡驱动程序就是用来驱动显卡的程序,它是硬件所对应的软件。驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。有了此信息,计算机就可以与设备进行通信。驱动程序是硬件厂商根据操作系统编写的配置文件,可以…...