数据分析与SAS学习笔记3

news2024/9/28 1:21:43

 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 f


data score;
input num $ phy math engl;
datalines;
060101 89 90 77
060102 92 70 88
060201 80 84 75


proc 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位。

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

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

相关文章

新手学习node.js基础,node.js安装过程,node.js运行环境及javascript运行环境.

学习node.js1.什么是node.js?2.node.js中的javaScript运行环境3.node.js可以做什么&#xff1f;4. node.js学习思路5.node.js环境的安装6.如何在node.js中执行JavaScript代码1.什么是node.js? node.js是一个基于Chrome v8 引擎的JavaScript运行环境(后端) node.js官网 &…

Flutter for Android

将 Flutter 添加到现有应用程序 在 Flutter 中一次重写整个应用程序是不切实际的。 对于这些情况&#xff0c;Flutter 可以作为库或模块逐步集成到您现有的应用程序中。 然后可以将该模块导入到您的 Android 或 iOS&#xff08;当前支持的平台&#xff09;应用程序中&#xff…

GEE学习笔记 八十六:分类中的特征重要性分析

之前在GEE中做随机森林分类时候&#xff0c;很多人都在问如何做特征重要性分析&#xff1f;但是在GEE之前并没有相关API可以做特征重要性分析&#xff0c;最新的API更新后GEE也可以做特征重要性分析了。 1、目前常用的包含特征重要信息分析的分类方法包括&#xff1a; &#…

基础篇:03-SpringCloud工程部署启动

目录 1.工程搭建部署 方案一&#xff1a;完整工程导入 方案二&#xff1a;从零开始搭建 1.工程与module创建 2.数据库导入 3.项目启动 3.1 启动并访问user-service 3.2 启动并访问order-service 4.服务远程调用 时序图说明 服务远程调用实现 注入RestTemplate Res…

自学web前端觉得好难,可能你遇到了这些困境

好多人跟我说上学的时候也学过前端&#xff0c;毕业了想从事web前端开发的工作&#xff0c;但自学起来好难&#xff0c;快要放弃了&#xff0c;所以我总结了一些大家遇到的困境&#xff0c;希望对你会有所帮助。 目录 1. 意志是否坚定 2. 没有找到合适自己的老师 3. 为了找…

论文阅读【PAMI_2022】FSGANv2: Improved Subject Agnostic Face Swapping and Reenactment

论文阅读【PAMI_2022】FSGANv2: Improved Subject Agnostic Face Swapping and Reenactment论文的缩写全拼一、摘要&#xff08;问题&#xff0c;贡献&#xff0c;效果&#xff09;二、引言&#xff08;idea&#xff09;三、方法(FSGAN)1.Detection and tracking2.Generator ar…

node学习-3:服务器渲染和客户端渲染

1. 概念 一.服务端渲染&#xff0c;后端嵌套模板&#xff0c;后端渲染模板&#xff0c;SSR&#xff08;后端把页面组装好&#xff09; 做好静态页面&#xff0c;动态效果 把前端代码提供给后端&#xff0c;后端则把静态html以及里面的假数据给删除掉 通过模板进行动态生成h…

8个让你收入翻倍的高质量免费网站

毕业几年了&#xff0c;如果你的月薪不到1w&#xff0c;还是做着重复机械的动作&#xff0c;现在马上往下看&#xff0c;今天分享6个资源网站让你的收入暴增&#xff0c;尤其是最后一个。每天花一个小时&#xff0c;让你工资翻倍&#xff0c;从此在职场横着走&#xff0c;再也不…

GEE学习笔记 八十三:【GEE之Python版教程十三】几何图形

遥感分析中用到的数据主要就是这两大类&#xff1a;矢量数据和栅格数据。在Google Earth Eninge中&#xff0c;它为我们讲这两类数据封装成为了以下几类数据。 下面几节内容我会依次讲解相关内容的详细信息&#xff0c;这一节先讲一下几何图形ee.geometry。 学习任何新的东西首…

设计模式之抽象工厂模式(C++)

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 一、抽象工厂模式是什么&#xff1f; 抽象工厂模式是一种创建型的软件设计模式&#xff0c;该模式相当于升级版的工厂模式。 如果…

采集知乎评论

声明 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! excel保存效果图: 首先我们找一个评论比较多的帖子,如下图所示有874条评论 点击评论…

算法刷刷刷| 回溯篇| 组合问题大集合

77.组合 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 输入&#xff1a;n 4, k 2 输出&#xff1a; [[2,4], [3,4], [2,3], [1,2], [1,3], [1,4],] import java.util.ArrayList; import java.util.List;clas…

可靠、稳定、安全,龙蜥云原生容器镜像正式发布!

文/云原生 SIG01背景随着云原生的蓬勃发展&#xff0c;越来越多的企业在自己的生产或者测试环境使用云原生技术&#xff0c;而容器镜像正是云原生技术中应用的实际运行环境。一个好的容器运行环境即容器镜像会真正关系到应用的体验、演进和维护。那么选择一个好的容器镜像需要考…

Flink实时同步MySQL与Doris数据

参考&#xff1a; 技术解析&#xff5c;Doris Connector 结合 Flink CDC 实现 MySQL 分库分表 Exactly Once 精准接入-阿里云开发者社区 逻辑图&#xff1a; 1. Flink环境&#xff1a; https://flink.apache.org/zh/ 下载flink-1.15.1 wget https://dlcdn.apache.org/flink…

并发编程之synchronized详解

目录 设计同步器的意义 如何解决线程并发安全问题&#xff1f; synchronized原理详解 synchronized底层原理 Monitor监视器锁 什么是monitor&#xff1f; 对象的内存布局 对象头 对象头分析工具 锁的膨胀升级过程 偏向锁 轻量级锁 自旋锁 锁消除 逃逸分析 设…

RabbitMQ学习(七):交换器

〇、前言在之前的内容中&#xff0c;我们创建了一个工作队列。我们假设的是工作队列背后&#xff0c;每个任务都恰好交付给一个消 费者(工作进程)。在今天的内容中&#xff0c;我们将做一些完全不同的事情——我们将消息传达给多个消费者。这种模式 称为 “发布/订阅”。为了说…

横板格斗类游戏实战:核心玩法介绍(一)

第一章讲解了横板格斗类游戏框架主要涉及到的一些模块设计与技术原理&#xff0c;本章节开始讲解横板格斗类游戏的玩法&#xff0c;美术资源与游戏的数值策划。我们以主要的截图为示意图&#xff0c;来把整个横板格斗类游戏的核心玩法和要实现的功能大致列一遍。对啦&#xff0…

QGIS中进行批量坡向计算

QGIS中进行坡向计算1. 坡向计算中的Z因子&#xff08;垂直单位与水平单位的比值&#xff09;2. 坡向计算步骤坡度计算的姊妹篇–坡向计算来了 1. 坡向计算中的Z因子&#xff08;垂直单位与水平单位的比值&#xff09; z 因子是一个转换因子&#xff0c;当输入表面的垂直坐标&…

BFC到底是什么?如何理解

BFC到底是什么&#xff1f; BFC全称&#xff1a;Block Formatting Context&#xff0c; 名为“块级格式化上下文”。 W3C官方解释&#xff1a;BFC 它决定了元素如何对其内容进行定位&#xff0c;以及与其他元素的关系和相互作用&#xff0c;当涉及到可视化布局时&#xff0c;B…

IMU调试方案

1.IMU 型号 QMI8658C IMU英文数据手册 参照连线与数据手册使用 类似的惯导模块开发https://www.cnblogs.com/rockyching2009/p/15071669.html 微雪 https://www.waveshare.net/wiki/RP2040-LCD-1.28 micro python &#xff1a;https://docs.micropython.org/en/latest/esp32/t…