全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3770 11
2017-04-28
悬赏 100 个论坛币 已解决
我现在是有02年到16年的每期调仓日手中30支股票的行业分布 ,我想知道如何做成下列那种图表 ,要计算每一次调仓日某一行业的占比, 11111.png    22222.png
求大神指教


最佳答案

foocares 查看完整内容

这出错消息是告诉你,你的date原来是字符型而不是数值型,那当然不能直接format了。 你读进来时按日期数值格式输入先
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-4-28 11:53:37
dengfei 发表于 2017-4-28 15:52
大哥  能不能给个联系方式    SAS快给我弄爆炸了
这出错消息是告诉你,你的date原来是字符型而不是数值型,那当然不能直接format了。
你读进来时按日期数值格式输入先
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

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里怎么根据分组批次出多图。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

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

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

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

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

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

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群