SAS教程[2]–第二章解答|《统计软件教程》(李东风版)|文艺数学君

  • A+
所属分类:SAS基础
摘要在这个新的教程中,我会结合《统计软件教程》(李东风版)这本数给出教程,并给出这本书第1到第5章的课后习题答案。希望大家能有所收获。这是这本书第二章的答案。

前言

这是关于《统计软件教程》(李东风版)第二章的答案的解答,就直接给出了,没什么解释了。

2.1

题目要求

SAS教程[2]--第二章解答|《统计软件教程》(李东风版)|文艺数学君

代码:

  1. title "求10000以内的素数";
  2. data prime;
  3. n=2;
  4. output;
  5. do n=3 to 10000 by 2;
  6. do i = 2 to n-1;
  7. if mod(n,i) = 0 and i^=n-1 then leave;
  8. if i = n-1 then output;
  9. end;
  10. end;
  11. run;
  12. Data SAS2;
  13. Set prime;
  14. Keep n;
  15. Run;
  16. proc print data = SAS2;
  17. run;

上述代码可以将10000以内的素数保存在sas2这个数据集中,我们打开数据集,可以看到如下的结果。

SAS教程[2]--第二章解答|《统计软件教程》(李东风版)|文艺数学君

2.2

题目要求

SAS教程[2]--第二章解答|《统计软件教程》(李东风版)|文艺数学君
  1. Title 't分位双侧分位数表';
  2. data dist;
  3. /*file print; */
  4. file 'C:\Users\JCSY001\Desktop\extre_file\3.作业\分位数.txt';   /*写入文件*/
  5. put "水平数   "   " 自由度   "  " 分位数   "   ;
  6. do p=0.001,0.002,0.005,0.01,0.05,0.1,0.2;
  7. df=1;
  8. do until(df > 100);
  9. fenweishu = tinv((1-p/2),df);
  10. output;
  11. put p 1-6 .3 df 7-12 fenweishu 13-25 .3;   /*控制输出的格式 */
  12. df = df + 1;
  13. end;
  14. end;
  15. run;

我们使用file 'C:\Users\JCSY001\Desktop\extre_file\3.作业\分位数.txt,可以控制put的内容保存到这个txt文档中,使用file print可以使得put的内容显示在输出窗口。最后打开分位数.txt文档,可以看到t分布的分位数,如下图所示:

SAS教程[2]--第二章解答|《统计软件教程》(李东风版)|文艺数学君

2.3

题目要求

SAS教程[2]--第二章解答|《统计软件教程》(李东风版)|文艺数学君
  1. data _null_;
  2. x = MDY(12,07,1995);
  3. y = MDY(01,01,2000);
  4. day = intck('day', x  , y);
  5. put "day = " day;
  6. run;
SAS教程[2]--第二章解答|《统计软件教程》(李东风版)|文艺数学君

当然,我们也可以计算从出生日期到当前的日子的天数。

  1. data _null_;
  2. x = MDY(12,07,1995);
  3. y = MDY(07,04,2017);
  4. day = intck('day', x  , y);
  5. put "day = " day;
  6. run;
SAS教程[2]--第二章解答|《统计软件教程》(李东风版)|文艺数学君

 

2.4

题目要求

SAS教程[2]--第二章解答|《统计软件教程》(李东风版)|文艺数学君

2.4.1

先使用inputcards将数据存储到数据集teachers , g1 , g2 , g3中,代码如下:

  1. data teacher ;
  2. input group teacher_name $;
  3. cards;
  4. 1 张敏
  5. 2 李秀丽
  6. 3 曾维薇
  7. ;
  8. run ;
  9. data g1;
  10. input group student_name $;
  11. cards;
  12. 101 刘娜
  13. 102 张秀敏
  14. 103 于长江
  15. ;
  16. run;
  17. data g2;
  18. input group student_name $;
  19. cards;
  20. 201 方开祥
  21. 202 耿火清
  22. 203 李芳
  23. ;
  24. run;
  25. data g3;
  26. input group student_name $;
  27. cards;
  28. 301 何明
  29. 302 孙成秀
  30. 303 张克成
  31. ;
  32. run;

运行完毕后我们可以在SAS资源管理其中看到四个数据集。

SAS教程[2]--第二章解答|《统计软件教程》(李东风版)|文艺数学君

 

2.4.2

  1. data new;
  2. set g1 g2 g3;
  3. length teacher$25; /*要更改teacher字符串的长度*/
  4. if group=101 or group=102 or group=103 then teacher = "张敏";
  5. if group=201 or group=202 or group=203 then teacher = "李秀丽";
  6. if group=301 or group=302 or group=303 then teacher = "曾维薇";
  7. run;

> 注意上面的程序需要将第一问的程序执行后才能执行。

在这里要注意的是要加上length teacher$ 25来控制teacher这个变量的字符串的长度,否则默认是显示不全的。

SAS教程[2]--第二章解答|《统计软件教程》(李东风版)|文艺数学君

 

2.5

题目要求

SAS教程[2]--第二章解答|《统计软件教程》(李东风版)|文艺数学君

2.5.1

  1. data guke ;
  2. length name$ 25 sex$ 25 place$ 25 day$ 25 ;
  3. /*需要改变字符串长度*/
  4. input name$ sex$ place$ day$ money;
  5. cards;
  6. 章文 男 华东 1996-3-20 1099
  7. 王国铭 男 华东 1996-5-19 39
  8. 童子敏 女 华北 1996-1-5 986
  9. 刘念新 男 华北 1997-10-1 3581
  10. 李思今 女 华北 1997-4-4 659
  11. 关昭 女 东北 1996-11-5 358
  12. 赵霞 女 东北 1998-9-6 2010
  13. ;
  14. run ;

这一问也需要使用length来改变字符串的长度,得到的结果如下图所示。

SAS教程[2]--第二章解答|《统计软件教程》(李东风版)|文艺数学君

2.5.2

我们使用if语句来找出在男性顾客中购买金额大于1000的人。

  1. data _null_;
  2. file print ;
  3. set guke;
  4. if money > 1000  and sex="男" then put "名字 : " name;
  5. run;
SAS教程[2]--第二章解答|《统计软件教程》(李东风版)|文艺数学君

2.5.3

按照题目要求使用keep将数据集拆成下面的两个数据集。

  1. data data1;
  2. set guke;
  3. keep name sex place;
  4. run;
  5. data data2;
  6. set guke;
  7. keep name day money;
  8. run;
SAS教程[2]--第二章解答|《统计软件教程》(李东风版)|文艺数学君

2.5.4

使用merge函数将上面拆开的两个数据集再合并。

  1. Data data;
  2. Merge data1 data2;
  3. Run;
SAS教程[2]--第二章解答|《统计软件教程》(李东风版)|文艺数学君

 

2.6

题目要求

SAS教程[2]--第二章解答|《统计软件教程》(李东风版)|文艺数学君

2.6.1

使用两个循环,来生成50*101的变量列表。

  1. data d1;
  2. array x(100);
  3. do i=1 to 50;
  4. do j=1 to 100;
  5. x(j)=normal(0);
  6. end;
  7. output;
  8. end;
  9. drop i j;
  10. run;
SAS教程[2]--第二章解答|《统计软件教程》(李东风版)|文艺数学君

2.6.2

关于宏的使用省略

2.6.3

也需要用到宏的知识,故省略没做。

  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin
王 茂南

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: