前面一节我们介绍了对SAS变量名的若干操作,这一节我们介绍对SAS变量格式的操作。SAS变量的主要格式如下图所示,有变量名称(name),标签(label),变量长度(length),输出格式(format),以及输入格式(informat)。这些都是SAS变量的固有属性。对这些属性我们都可以自行更改。

SAS变量的格式
  1. 设置变量标签

前面一节我们介绍了如何更改变量名称:

秋葵:对SAS数据集变量名的操作​zhuanlan.zhihu.com

其实,打开SAS数据集,映入我们眼帘的是SAS变量标签,变量标签有助于帮助我们了解SAS变量的实际含义。当我们的原始excel或者csv文件的变量名都是中文,将这些文件导入SAS,生成SAS数据集时,我们只能看到默认生成的var1,var2.。。这种变量名,并不知道变量的具体含义是什么,即变量标签是空值,这时候对变量标签的设置极为重要。我们用label语句来添加或者更改变量标签。我们使用sashelp逻辑库中的class数据集展示结果,原始数据如下所示:

我们用label语句更改姓名这个标签:

data a;set sashelp.class;label name="SAS变量名称";
run;

得到的数据集如下:

也可以一次对多个标签进行更改:

data a;set sashelp.class;label name="SAS变量名称" sex="SAS变量性别" age="SAS变量年龄";
run;

得到的数据集a如下:

记住,label语句设置的标签长度最多为40个字符。

2. 设置变量长度

变量的长度,指的是它的存储长度,而不一定等于我们看到的长度。SAS数据集中数值变量的长度默认为8个字符,而字符变量的长度默认由它的第一个观测值决定的。如下面程序:

data b;
input x;
if x=1 then y='no';
else y='yes';
Cards;
1
5
;
run;

变量y的长度由它的第一个观测值决定,因此长度为2,如下

变量的长度用length语句进行设置,对于字符型变量需要在长度前面加上"$"符号。由本节的第一个图<SAS变量的格式>可知,name的长度为12,现在我们将它改为21,该如何设置呢,有的人想当然的以为按下面方式设置:

data a;set sashelp.class;length name $21;
run;

运行后,发现name长度没有变化,还是12。我们看到日志中出现下面这样:

也就是说在程序在读入set语句时,就已经设置了name的长度。因此,我们需要按照日志告诉我们的方法,将需要设置长度的length语句作为data步的第一个语句,也就是放在set语句之前,如下所示:

data a;length name $21;set sashelp.class;
run;

运行后,我们可以发现,长度已经更改过来:

3. 设置输出格式

输出格式为我们看到的变量的值的格式,输出格式可以是SAS自己携带的,也可以是我们自行创建的。format语句可以设置输出格式,比如我们将身高设置为小数点后两位数字:

data a;set sashelp.class;format Height 8.2;
run;

其中小数点前面的表示数值的所有长度,小数点后面的表示数值小数点后面的位数。我们将小数点前面的指定为8,当然也可以指定为别的数字,只要大于等于height最大的数值长度即可,结果如下:

另外,我们也可以用proc format语句自己创建自己的格式,并使用它,比如下面的程序:

proc format;
value sexfmt 1=male 2=female;
data al;
input name $ sex @@;
format sex sexfmt.;
cards;
jane 2 bill 1 cindy 2 helen 2
;
run;

上面,我们用proc format语句自定义了性别的格式,其用value语句进行格式的定义。下面的data步中使用format语句使用了我们自定义的格式。除了用value语句定义格式,也可以用picture语句更加灵活的定义数值型格式,在这不再叙述。

4. 设置输入格式

定义输入格式,是告诉SAS如何读入数据。在我们前面用data步导入原始数据一节中input语句中对应的格式就是输入格式。

秋葵:data步导入原始数据​zhuanlan.zhihu.com

我们可以用informat语句来定义输入格式,如下面程序:

data a;
informat default=3.1 default=$char4.;
input x1-x5 name $;
put x1-x5 name;
cards;
11 22 33 44 100 johnny
;
run;

将数据值变量输入格式默认值设置为3.1,字符型变量默认格式设置为4个字符。put语句是将这些变量的值在日志中输出。

结果如下:

关于SAS变量名和格式的操作,我们就介绍到这。在下一节我们将介绍对SAS数据集观测的操作。


你的点赞会激励我们持续的创作哦~

qt如何讲自己定义的label放到mainwindow中_如何更改SAS变量格式?相关推荐

  1. tail将输出的日志放到文件中_如何将Spring Boot应用中日志输出格式改为JSON?

    作者:DEV 出自:解道JDON 原文:jdon.com/55006 今天,我们有了一类称为日志聚合系统的应用程序.当我们拥有大量微服务并且我们希望跨微服务跟踪日志时,日志聚合很有用. 传统的Java ...

  2. access数据放到list中_利用Python提取视频中的字幕(文字识别)

    我的CSDN博客id:qq_39783601,昵称是糖潮丽子~辣丽 从今天开始我会陆续将数据分析师相关的知识点分享在这里,包括Python.机器学习.数据库等等. 今天来分享一个Python小项目! ...

  3. python获取类的所有方法、并存放到字典中_孤荷凌寒自学python第十二天python字典类的其它操作...

    今天继续对dict类进行研究 一.删除dict对象中的所有元素 dictname.clear() 此方法将删除dict对象中的全部元素,但字典对象本身还在. 二.关于建立dict的副本,即创建一个di ...

  4. 网络流题目详讲+题单(提高版)(持续更新中......)

    网络流题目详讲+题单(提高版)(持续更新中......) 标签:图论--网络流 PS:如果你觉得自己还不够强(和我一样弱),可以去入门版看看 阅读体验:https://zybuluo.com/Junl ...

  5. 智能指针可以放到容器中么_Rust语言入门教程 智能指针篇

    指针 (pointer)是一个包含内存地址的变量的通用概念.这个地址引用,或 "指向"(points at)一些其他数据.Rust 中最常见的指针是第四章介绍的 引用(refere ...

  6. 瑞萨,尝试flash刷写代码放到ram中,OK

    因为项目需要,要把boot代码里的flash驱动程序放到ram里,而且不能再flash里保存,之前没用过瑞萨的芯片,找了一大堆的参考文件看,后来发现还没有看它的说明文档好使. 把cc-rl用户手册看了 ...

  7. 吞食鱼游戏蒙版图方法把鱼放到背景中

    最近在移动硬盘的角落中发现大学时代玩过的一个吞食鱼游戏,相信很多人都玩过.随意点进去之后,发现游戏程序的图片库中,有鱼图片和黑白的鱼模型图片 让我很是不解,于是baidu了一下,原来是蒙版图抠图的一种 ...

  8. 将vs+Qt的工程从windows平台移植到linux下_

    ​​​​​​​​​​​​将vs+Qt的工程从windows平台移植到linux下_崔杰城的博客-CSDN博客_windows下的qt工程移植到linux下 windows下Qt的开发人员常用vs+Qt ...

  9. 读取json文件 ,将json文件放入数组中 , 将json的数组放到List中

    从json里读取字符串并转成数组: private fun readGson() {//读取json,将json放到listString中var listString = FileIOUtils.re ...

最新文章

  1. MonkeyRunner的使用二
  2. 【图像分类】分类专栏正式上线啦!初入CV、AI你需要一份指南针!
  3. 帆软报表(finereport) 复选框多值查询
  4. 用户操作-登录代码实现
  5. 第38周星期四电话会议忙碌的一天
  6. C++算法学习(力扣:859. 亲密字符串)
  7. 虚拟机中centos7找不到vim命令的解决方法
  8. python-网易云音乐搜索下载脚本
  9. TinyGAN: Distilling BigGAN for Conditional Image Generation
  10. 大众点评产品分析报告
  11. 58同城赶集网简历怎么下载?【58同城赶集网简历采集,真实手机号联系方式获取】
  12. 小米游戏本0909bios_小米笔记本电脑全家族介绍
  13. python身份证号码共18位_Python实现身份证号码解析
  14. 计算机毕业设计ssm鹊巢大连分公司分销商管理系统51g9m系统+程序+源码+lw+远程部署
  15. 服务器固态硬盘当作系统盘,只当系统盘太屈才,这些地方都能用上固态硬盘!...
  16. 手机网站(wap)广告展示一般都有哪些表现形式?
  17. 成都建博会:家居行业数字营销金点子 句句戳心坎,先收藏
  18. 【论文阅读】Learning Spatiotemporal Features with 3D Convolutional Networks
  19. mysql百万数据建索引时间_mysql百万的数据快速创建索引
  20. JSP_EL_JTEL

热门文章

  1. 高仿真的类-AbstractApplicationContext
  2. SpringMVC的请求-文件上传-单文件上传的代码实现1
  3. 使用fastDFS客户端改造文件上传
  4. InvalidClassException异常_原理和解决方案
  5. 使用PyCharm定义QQ变量
  6. 简单工厂 jdk源码解析
  7. SpringBoot 包含处理
  8. java xml字符串提取元素,如何从Java中将子元素从XML提取到字符串?
  9. Scala语言整理(一)
  10. Spring Cloud Gateway介绍(一)