楼主: 卑鄙的我lzw
198 5

[问答] 做直方图有一个语句看不懂~QAQ [推广有奖]

  • 0关注
  • 2粉丝

高中生

45%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
416 点
帖子
19
精华
0
在线时间
29 小时
注册时间
2017-7-18
最后登录
2017-12-12

卑鄙的我lzw 发表于 2017-12-7 16:10:14 |显示全部楼层
我再书上看到一个做直条图的例子,如下图,图中用铅笔圈起来的语句不是很懂,我在网上查到mod是两数相除,返回余数,这个在这里有啥用啊?哪位大神帮忙解答一下,QAQ~

IMG_20171207_160129(1).jpg

关键词:看不懂 直方图 Mod

支持楼主:购买VIP购买贵宾 购买后,论坛将把您花费的资金全部奖励给楼主,以表示您对TA发好贴的支持
 
载入中......
IMG_20171207_160129(1).jpg
stata SPSS
ightar 发表于 2017-12-8 13:21:57 |显示全部楼层
本帖最后由 ightar 于 2017-12-8 13:38 编辑

数据变形,将同一组内身高调整为所在组的下限,计算各组频数或方便作图。
  1. proc sgplot data = shg;
  2. histogram x / binwidth = 2 binstart = 96;
  3. run;
复制代码
回复

使用道具 举报

zhuosn 发表于 2017-12-9 06:56:10 |显示全部楼层
请教 lovexialulu superguy333 http://bbs.pinggu.org/thread-6115886-1-1.html
回复

使用道具 举报

卑鄙的我lzw 发表于 2017-12-9 23:17:44 |显示全部楼层
ightar 发表于 2017-12-8 13:21
数据变形,将同一组内身高调整为所在组的下限,计算各组频数或方便作图。
不懂。。。能举个例子吗
回复

使用道具 举报

ightar 发表于 2017-12-10 11:35:09 |显示全部楼层
卑鄙的我lzw 发表于 2017-12-9 23:17
不懂。。。能举个例子吗
Example:
  1. data test;
  2. input x;
  3. datalines;
  4. 108.0
  5. 104.5
  6. 102.7
  7. 101.2
  8. 103.0
  9. 104.3
  10. 105.5
  11. 106.8
  12. 110.6
  13. 102.8
  14. 103.2
  15. 102.5
  16. ;
  17. run;

  18. data test;
  19.     set test;
  20.     b = x - mod(x - 95, 2);
  21. run;

  22. /* 编制频数分布表*/
  23. proc freq data = test;
  24.     tables b / out = summary_b;
  25. run;

  26. /* 绘制直方图*/
  27. /* 法1*/
  28. proc gchart data = test;
  29.     vbar x /  
  30.         midpoints = 96 to 114 by 2
  31.         width = 10
  32.                 space = 0
  33.         noframe
  34.     ;
  35.     pattern value = empty;
  36. run;

  37. /* 法2*/
  38. proc gchart data = summary_b;
  39.     vbar b / freq = count
  40.         midpoints = 96 to 114 by 2
  41.         width = 10
  42.         space = 0
  43.         noframe
  44.     ;
  45.     pattern value = empty;
  46. run;

  47. /* 法3*/
  48. proc sgplot data = test;
  49.         histogram x / scale = count
  50.         binwidth = 2
  51.             binstart = 96
  52.                 nofill
  53.     ;
  54.         xaxis values = (96 to 114 by 2);

  55. run;
复制代码
回复

使用道具 举报

ightar 发表于 2017-12-10 11:35:12 |显示全部楼层
卑鄙的我lzw 发表于 2017-12-9 23:17
不懂。。。能举个例子吗
Example:
  1. data test;
  2. input x;
  3. datalines;
  4. 108.0
  5. 104.5
  6. 102.7
  7. 101.2
  8. 103.0
  9. 104.3
  10. 105.5
  11. 106.8
  12. 110.6
  13. 102.8
  14. 103.2
  15. 102.5
  16. ;
  17. run;

  18. data test;
  19.     set test;
  20.     b = x - mod(x - 95, 2);
  21. run;

  22. /* 编制频数分布表*/
  23. proc freq data = test;
  24.     tables b / out = summary_b;
  25. run;

  26. /* 绘制直方图*/
  27. /* 法1*/
  28. proc gchart data = test;
  29.     vbar x /  
  30.         midpoints = 96 to 114 by 2
  31.         width = 10
  32.                 space = 0
  33.         noframe
  34.     ;
  35.     pattern value = empty;
  36. run;

  37. /* 法2*/
  38. proc gchart data = summary_b;
  39.     vbar b / freq = count
  40.         midpoints = 96 to 114 by 2
  41.         width = 10
  42.         space = 0
  43.         noframe
  44.     ;
  45.     pattern value = empty;
  46. run;

  47. /* 法3*/
  48. proc sgplot data = test;
  49.         histogram x / scale = count
  50.         binwidth = 2
  51.             binstart = 96
  52.                 nofill
  53.     ;
  54.         xaxis values = (96 to 114 by 2);

  55. run;
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 我要注册

GMT+8, 2017-12-14 21:10