学习SAS语言一章,用数据步建立数据集,注意不同类型变量的表示、复制数据集、合并、拆分数据集等操作;用过程步,按指定的要求和格式输出数据。
本次作业需完成并提交3个SAS程序:
1)grade01.sas
2)classBMI02.sas
3)stu_merge03.sas

1.( 30分 )

10名幼儿园小朋友的名字、性别、生日信息,见附件表1。新建一个名为Child数据集,数据集中有四个变量,分别是name,gender,birthday,age,其中变量age是用赋值语句计算出来的每个小朋友的年龄,程序命名为grade01.sas。

关键是计算年龄:

i. 使用函数:intck()——计算,date()——当前日期

ii. 变量age是运算得到,可以不用input进行定义,直接使用

iii. yyddmm10. 与 yyddmms10. 的区别:前者间隔符为短横线,后者为斜线

data c1;
input name$ gender$ birthday yymmdd10.;
cards;
刘明铭 男 2012/11/11
李敏洁 女 2014/3/15
代子清 男 2014/9/20
夏天 男 2013/4/1
郭悦 女 2013/7/25
胡月玲 女 2013/7/20
程彬 女 2014/10/9
杨帆帆 男 2016/10/9
刘进 男 2016/5/10
张思凡 女 2015/8/19
;
run;DATA Child;
set C1;
b=date();
age=intck('year',birthday,b);
drop b;
run;proc print;
FORMAT birthday yymmdds10.;
title 'Child';
RUN;

2

( 30分 )

‏针对SASHELP.CLASS数据集,按如下要求编写程序:

1)复制SASHELP.CLASS数据集,建立新变量BMI,其值为weight/(height*height)*1000,新数据集命名为BMIclass;

‏2)用proc print过程输出数据集BMIclass中NAME,SEX, AGE,BMI四个变量的观测值,其中,BMI值用FORMAT过程定义输出格式,使得变量BMI输出形式为:

BMI值<18.5 ,输出显示“偏瘦”;

18.5=<BMI值<23.9,输出显示“正常”

BMI值>=23.9,输出显示“偏胖”

‏3)将数据集BMIclass按性别拆分为二个名为boy、girl的新数据集,新数据集中不需有性别变量,且BMI值的输出格式为6.2,即输出显示到小数点后2位。

程序命名为classBMI02.sas

‏OK,修改好了,下面的这个是正确的。

i. Proc format的使用,注意细节!!!

        proc format;        这里有一个分号

        value的这一部分,只有一个分号,有两个 ‘ < ’ 

ii. Data步里面format的使用

        format bmi b.;        请不要忘了,这里的b右下角有个点          -_-

data BMIclass;
set sashelp.class;
BMI=weight/(height*height)*1000;
keep name sex age bmi;
run;proc format;
value b low-<18.5='偏瘦'18.5-<23.9='正常'23.9-high='偏胖';
run;proc print data=bmiclass;
format bmi b.;
title 'BMIclass';
run;data boy girl;
set BMIclass;
if sex='女' then output girl;
else output boy;
drop sex;
format bmi 6.2;
run;proc print
data=boy;
title 'boy';
run;proc print
data=girl;
title 'girl';
run;

3

( 40分 )

‌用程序stu_merge03.sas实现:

‌1)参见附件,创建数据集stu_info和stu_score,且合并生成新数据集student.

‌2) 输出显示数据集student中的id,subject,score,class列,并分别以标签”学号”,”科目”,”分数"和”班级"显示。

有几个写的时候注意的点:

i. 导入的数据,可以先在excel里面敲,然后复制-粘贴过来,注意不要改动间隔,它们之间是制表符【Tab】,SAS可以识别

ii. 使用merge不要忘记了,by语句

iii. 命名标签的时候,在DATA步里使用label语句就可以直接定义变量标签,注意,定义多个变量的标签,一个label就够了!!分号也只用一个!!

iiii. 最后,输出的结果变量显示为标签,只需在Proc print语句的,数据集名后,加上label

data stu_info;
input id sex$ age class$;
cards;
1   boy 14  A
2   girl    15  A
3   girl    15  A
4   boy 16  B
5   boy 15  B
6   girl    15  B
;
RUN;data stu_score;
input id subject$ score;
cards;
1   chinese 89
1   math    79
2   chinese 67
2   math    84
3   chinese 78
3   math    83
4   chinese 69
4   math    85
5   chinese 79
5   math    69
;
run;data student;
merge stu_info stu_score;
by id;
label id='学号'subject='科目'score='分数'class='班级';
drop sex age;
run;title 'student';
proc print
data=student label;
run;

MOOC武大SAS——第二章作业相关推荐

  1. c语言程序设计第二章的答案,C语言程序设计第二章作业参考答案

    C语言程序设计第二章作业参考 <C语言程序设计>第2章作业 布置日期:2017-10-23 截止日期:2017-11-3 一.单选题(每小题4分,共100分) 1.以下说法中正确的是___ ...

  2. [XJTUSE]计算机图形学第二章作业,使用OpenGL编程实现DDA、中点画线和Bresenham算法和中点画圆法

    首先是Windows10 + Visual Studio 2019 搭建OpenGL环境可以查看如下链接: 萌新向!!!Windows10 + Visual Studio 2019 搭建OpenGL环 ...

  3. 《计算机网络》第二章作业

    <计算机网络>第二章作业 复习题 R5 运行在一台主机上的一个进程,使用什么信息来标识运行在另一台主机上的进程? 在两个不同端系统上的进程,通过跨域计算机网络交换报文(message)而相 ...

  4. 第二章计算机网络答案,计算机网络第二章作业参考答案

    计算机网络第二章作业参考答案 (8页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 2. A noiseless 8-kHz channel ...

  5. 汽车理论第六章matlab,汽车理论第二章作业

    汽车理论第二章作业 汽73 许四聪 20007010806 2-7: 1)汽车功率平衡图: 接合1-3的数据编程如下: n=600:0.5:4000; T=-19.313+295.27*(n/1000 ...

  6. 尚学堂 JAVA第二章作业

    文章目录 尚学堂JAVA 第二章作业 尚学堂JAVA 第二章作业 第二章比较简单写得很粗略 import java.util.Scanner; import java.math.*;/*** 作业2* ...

  7. 第二章计算机网络答案,《计算机网络》第二章-作业参考答案

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我 ...

  8. 网络空间安全概论 第二章 作业

    课程 学校 学校云 下载APP 搜索感兴趣的课程 个人中心 网络空间安全概论 申请认证证书 郭文忠.董晨.张浩.何萧玲.杨旸.邹剑.刘延华.李应.倪一涛.孙及园 评价课程 公告 评分标准 课件 测验与 ...

  9. MOOC武大SAS第四章——作业

    1 ( 30分 ) ​题2-1 从某大学2000名学生的"数据统计分析"课程的考试成绩中随机抽取72名学生的成绩如下表(PDF附件),写出完成如下要求的程序(1个数据步和2个过程步 ...

最新文章

  1. 10万,买一辆自驾无忧的智能汽车
  2. 如果看了这篇文章你还不懂傅里叶变换,那就过来掐死我吧(一)
  3. Linux中的DRM、DRI、DMA 介绍
  4. 客户端负载均衡?? 服务端负载均衡??
  5. WebRTC的现状和未来:专访W3C WebRTC Chair Bernard Aboba(下)
  6. Nexys4DDR+OV7670实现sobel算子边缘检测系统
  7. plt python 画直线_Matplotlib:先搞明白plt. /ax./ fig再画
  8. sklearn之线性回归和梯度下降
  9. 成都高新南区 高新西区 东部新区 多边形范围点位 AOI 高德
  10. sql如何查询某天的所有数据
  11. PCB板沉金工艺和喷锡工艺区别
  12. 云桌面服务器中兴,随需而动——中兴通讯VDI+VOI融合云桌面解决方案
  13. python 删除pdf页面_删除PDF其中几页的方法
  14. android 后台数据获取,android post方式给后台服务器传递数据
  15. 程序员装B小技巧——管理你的桌面
  16. 618电商大数据分析可视化报告
  17. 一文彻底搞懂python面向对象编程(全网最全!!!)
  18. Kubectl常用命令(三)
  19. 【路径规划-VRP问题】基于遗传算法求解带距离的多车场车辆路径规划问题(含单线路局部优化)matlab代码
  20. 案例:FIFA2018球员数据分析

热门文章

  1. 尚硅谷商城项目上线过程
  2. Delphi RSA加解密(一)
  3. VMware 16 安装window server 2003【附带可能出现的问题和解决方法】
  4. 树莓派CM4_TBOX扩展板(针对车机和工业应用)之移远EC20 4G模块的操作演示
  5. Linux文件恢复的原理
  6. 键盘事件(只能输入数字的输入框,删除键可用)
  7. JAVA毕设项目旧货网上交易系统(java+VUE+Mybatis+Maven+Mysql)
  8. 北京络捷斯特第三方物流信息系统技术解析(三) 订单录入-出库订单
  9. Databend 开源周报 #66
  10. “我的电脑”地址栏不见的处理方法