楼主: dengfei
3429 11

[问答] 如何用SAS做行业分布图 !!! [推广有奖]

  • 0关注
  • 0粉丝

高中生

12%

还不是VIP/贵宾

-

威望
0
论坛币
47 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
148 点
帖子
18
精华
0
在线时间
14 小时
注册时间
2005-9-24
最后登录
2017-5-16

100论坛币
我现在是有02年到16年的每期调仓日手中30支股票的行业分布 ,我想知道如何做成下列那种图表 ,要计算每一次调仓日某一行业的占比, 11111.png    22222.png
求大神指教


最佳答案

foocares 查看完整内容

这出错消息是告诉你,你的date原来是字符型而不是数值型,那当然不能直接format了。 你读进来时按日期数值格式输入先
关键词:行业分布 分布图 如何用
沙发
foocares 发表于 2017-4-28 11:53:37 来自手机 |只看作者 |坛友微信交流群
dengfei 发表于 2017-4-28 15:52
大哥  能不能给个联系方式    SAS快给我弄爆炸了
这出错消息是告诉你,你的date原来是字符型而不是数值型,那当然不能直接format了。
你读进来时按日期数值格式输入先

使用道具

藤椅
foocares 发表于 2017-4-28 14:58:05 |只看作者 |坛友微信交流群
我的感觉,这其实是一个先计数,再输出作图的流程。因为手边缺一个含作图proc的SAS完整版本,所以只能先大概构思一下。
因为楼主原始数据就两列,所以步骤就是:
1. 先按格式读进来(比如保证日期都能读对),应该每行就两个变量,hyfb是字符,date是日期格式。
2. 调用PROC FREQ来计数:
   proc freq data = sales;  /*这是你导入后的源数据集*/  
   TABLES hyfb*Date/OUTPCT NOPERCENT NOROW out = stk_count;  /*这是准备存计数结果的数据集*/
   FORMAT Date DATE9. ;
   run;

输出的数据集里每行应该有hyfb和对应当天的计数百分比变量PCT_COL. 这个百分比就是下一步里可以直接用的分布纵坐标。

3. 调用proc sgplot来作图,比如钢铁类的
   proc sgplot data = stk_count(
     where=(hyfb="钢铁"));
  xaxis type=discrete;
  series x=date y=pct_col;
   run;

大概单个单个的画就是这个样子出图了,当然调用proc sgplot这一步目前比较笨,想看个不同类的还得手动换下字符串匹配,比如从“钢铁”变成“电子”。有空再想想sgplot里怎么根据分组批次出多图。

使用道具

板凳
dengfei 发表于 2017-4-28 15:37:58 |只看作者 |坛友微信交流群
foocares 发表于 2017-4-28 14:58
我的感觉,这其实是一个先计数,再输出作图的流程。因为手边缺一个含作图proc的SAS完整版本,所以只能先大概 ...
大哥,  出现了点问题   能不能留个微信或者QQ什么的  不胜感激啊  

使用道具

报纸
dengfei 发表于 2017-4-28 15:41:14 |只看作者 |坛友微信交流群
foocares 发表于 2017-4-28 14:58
我的感觉,这其实是一个先计数,再输出作图的流程。因为手边缺一个含作图proc的SAS完整版本,所以只能先大概 ...
@ZX@)2MO3X]FWMQR[A0PH@M.png

运行之后就出现这种情况了   怎么搞呢?

E`VKX%QDAMOWF(F7W}4[[X6.png (48.31 KB)

E`VKX%QDAMOWF(F7W}4[[X6.png

使用道具

地板
dengfei 发表于 2017-4-28 15:43:33 |只看作者 |坛友微信交流群
foocares 发表于 2017-4-28 14:58
我的感觉,这其实是一个先计数,再输出作图的流程。因为手边缺一个含作图proc的SAS完整版本,所以只能先大概 ...
@ZX@)2MO3X]FWMQR[A0PH@M.png
这个图      刚传错了

使用道具

7
dengfei 发表于 2017-4-28 15:52:54 |只看作者 |坛友微信交流群
dengfei 发表于 2017-4-28 15:41
运行之后就出现这种情况了   怎么搞呢?
大哥  能不能给个联系方式    SAS快给我弄爆炸了

使用道具

8
dengfei 发表于 2017-4-28 16:27:11 |只看作者 |坛友微信交流群
foocares 发表于 2017-4-28 16:11
这出错消息是告诉你,你的date原来是字符型而不是数值型,那当然不能直接format了。
你读进来时按日期数 ...
解决了已经  感谢大哥了      两天回复我两个求助帖了   

使用道具

9
foocares 发表于 2017-4-28 20:59:35 |只看作者 |坛友微信交流群
dengfei 发表于 2017-4-28 16:27
解决了已经  感谢大哥了      两天回复我两个求助帖了
啊不客气,互相学习。
过两天等我升级下SAS版本能使sgplot了再寻思下怎么把第三步整成自动化批量处理。

使用道具

10
dengfei 发表于 2017-4-28 21:20:36 |只看作者 |坛友微信交流群
foocares 发表于 2017-4-28 20:59
啊不客气,互相学习。
过两天等我升级下SAS版本能使sgplot了再寻思下怎么把第三步整成自动化批量处 ...
大兄弟  ,能不能留个联系方式,我刚刚开始学SAS,收下我的膝盖吧  

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-10 17:44