1.直接用表达式或函数直接产生新变量

格式为:变量名=表达式或函数

例:

data a1;
input wt ht;
bmi=wt/(ht/100)**2;  /*“**”表示幂次方的意思*/
rbmi=sqrt(bmi);
obesity=(bmi>=28);
city="北京";
date="02apr2013"d;
format data yymmdd10.;
cards;
60 170
55 166
73 161
;
proc print;
run;

新变量得写在input和cards之间。

在SAS中日期常量都要写成“日月年”d这种格式(月是英文的前三个字母,年可以是2位或4位)

2.利用if-then语句产生新变量

格式为:

if 表达式 then 新变量=;

else 新变量=;

data lx;
input id lx$;
lx1=lx in ("有效","显效","痊愈");
if lx in ("有效","显效","痊愈") then lx2="有效";else lx2="无效";
cards;
1 显效
2 有效
3 无效
4 痊愈
;
proc print;
run;

3.利用retain语句和累加语句产生新变量

SAS在读取数据的时候是有遗忘症的,它每读完一条观测返回到data语句的时候,会忘掉刚才读取的数值。。

retain语句和累加语句可以使SAS留住上次的记忆不再重复读取,retain语句的基本格式:

retain 变量 <初始值>;

作用是生成一个变量,指定初始值,并保留该变量每次计算的结果。如果没有指定初始值,默认初始值为缺失值。

retain语句可以指定一个或多个变量,例如:

retain a 21; (指定a的初始值为21)

retain year 2001 total 0;(指定year的初始值为2001,total的初始值为0)

累加语句的基本格式是:变量+表达式;

year+1;(默认year=0,year+1产生的结果就是year=1)

total+amount;(amount变量必须在前面已经指定了,此时相当于total=total+amount)

data fsh;
input amount;
retain year 2000
year+1;
total+amount;
cards;
100
200
300
;
proc print;
run;

结果如上图所示

4.使用do循环语句产生新变量

do 变量=初始值 to 最终值 <by 增加量>;

3A3语句;

end;

使用do循环时要注意避免以下两个错误:1)忘记写output;语句,这导致SAS只能读取最后一个数,因为前面的数没有通过SAS显示;2)忘记写end;语句,此时SAS找不到循环结束的标志,给不出结果。

5.指定新变量的类型与长度

SAS中主要是用length语句来指定新变量的长度与类型,格式为:length 变量1<S> 长度1 变量2 <S> 长度2……;

该语句的意思是对变量指定一个长度,如果是字符型变量,还需要加上$符号。字符变量的长度是由第一个遇到的值的长度决定的,而且字符变量一旦产生,它的长度就无法改变。

length语句一定要在新变量产生之前就设定好,否则是不起作用的。

SAS学习之产生新变量相关推荐

  1. SAS学习笔记1——基础知识(库、PDV、变量选择、观测值排序、创建新变量

    SAS学习笔记1--基础知识 1.逻辑库.临时库.永久库 2.数据步 2.1数据步语法 2.2 数据步的编译和执行过程 2.3变量的选择 2.3.1 keep和drop语句 2.4变量的重命名rena ...

  2. SAS学习笔记之《SAS编程与数据挖掘商业案例》(3)变量操作、观测值操作、SAS数据集管理...

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(3)变量操作.观测值操作.SAS数据集管理 1. SAS变量操作的常用语句 ASSIGNMENT 创建或修改变量 SUM 累加变量或表达式 ...

  3. SAS学习笔记之《SAS编程与数据挖掘商业案例》(3)变量操作、观测值操作、SAS数据集管理

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(3)变量操作.观测值操作.SAS数据集管理 1. SAS变量操作的常用语句 ASSIGNMENT 创建或修改变量 SUM 累加变量或表达式 ...

  4. SAS学习之变量的输出格式

    1.数值型变量的输出格式 w.d,commaw.d和percentw.d w.d前述文章已描述 commaw.d的作用是将数值的整数部分自右向左每三位用逗号隔开,当数值位数较多时,这是比较标准的表示方 ...

  5. 《因果学习周刊》第9期:因果学习中的工具变量

    No.09 智源社区 因果学习组 因 果 学  习 研究 观点 资源 活动 关于周刊 因果学习作为人工智能领域研究热点之一,其研究进展与成果也引发了众多关注.为帮助研究与工程人员了解该领域的相关进展和 ...

  6. SAS学习笔记之《SAS编程与数据挖掘商业案例》(4)DATA步循环与控制、常用全程语句、输出控制...

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(4)DATA步循环与控制.常用全程语句.输出控制 1. 各种循环与控制 DO组 创建一个执行语句块 DO循环 根据下标变量重复执行DO和E ...

  7. 学习一种新编程语言要做的15个练习

    学习一种新编程语言要做的15个练习 Posted on 2010-01-31 09:57 小豆丁 阅读(34) 评论(0) 编辑 收藏 简介 怎样快速学习一门新的编程语言?本文提供了一个行之有效的方法 ...

  8. c++学习之const成员变量与成员函数

    c++学习之const成员变量与成员函数 常类型是指用类型修饰符const说明的类型,常类型的变量或者对象的值是不能被更新的.因此,定义或说明常类型时必须初始化. 如果在一个类声明常数据成员,那么任何 ...

  9. 吴恩达《机器学习》学习笔记四——单变量线性回归(梯度下降法)代码

    吴恩达<机器学习>学习笔记四--单变量线性回归(梯度下降法)代码 一.问题介绍 二.解决过程及代码讲解 三.函数解释 1. pandas.read_csv()函数 2. DataFrame ...

最新文章

  1. 显示-连接-删除管理数据库管理应用
  2. MySQL AHI 实现解析
  3. MyBatis-14MyBatis动态SQL之【foreach】
  4. 配置mysql读写主从_Mysql主从配置,实现读写分离
  5. 小程序功能模块-优客娱乐视频1.0.5源码
  6. 万字教你如何用 Python 实现线性规划
  7. 内固定取出术后护理_“钢铁侠“们注意了——身体内的钢板或内固定需要取出吗?...
  8. fullpage在vue单页面当中使用会出现的问题以及解决办法
  9. 【物联大师】之物联网智能网关
  10. Talib macd函数探究
  11. 基因组科学数据的安全管理与应用
  12. 图片转文字、视频转文字 超赞网页分享
  13. 中国大学MOOC-翁恺-C语言程序设计习题集(学习笔记)
  14. 移动云计算究竟是做什么的?
  15. 如何做云班课上的计算机作业,云班课如何提交课后作业 作业提交教程
  16. 斯坦福 AI Lab 主任 Chris Manning:人工智能研究的最新趋势和挑战
  17. 马云等10位大佬心酸往事:9天9夜未睡、装姑娘陪聊、一夜白头…
  18. 多核cpu应用场景_2019电脑CPU怎么选_多核cpu和单核的区别|哪个好-太平洋电脑网...
  19. [匹配+拓扑] LibreOJ #521. 「LibreOJ β Round #3」绯色 IOI(抵达)
  20. java web打开文件_Java web 如何打开本地文件夹?

热门文章

  1. APP信息管理平台总结
  2. iOS - 多控制器切换(带滑动动画)
  3. 蒸汽流量计算软件_涡街流量计的基本测量原理及选型
  4. 8.Redis- 集群:AKF拆分(y轴和z轴),twemproxy,predixy,cluster
  5. 芯片flash保护(解锁)
  6. 交通银行香港分行实施 Linux 前端系统的开发手记
  7. 软考-嵌入式系统设计师-笔记:计算机系统基础知识
  8. linux远程windows无法输入,XRDP在Windows下用远程桌面连接,键盘失效有关问题
  9. TurnipBit:和孩子一起动手DIY“滚动”的生日礼物
  10. [Architecture Design] DDD经验分享 (上)