全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3512 2
2016-04-19
各位论坛的前辈,SAS小白有问题求教。
目前需要计算股票的年交易周数以剔除年交易周数小于30的样本。
在CSMAR数据库所下载的数据格式大概如下所示:
股票代码 交易周份
000002 2015-53
000002 2015-52
……        ……
000002 2015-2
000002 2015-1
000002 2014-47
000002 2014-46
……        ……
000002 2014-2
000002 2014-1
……        ……
000002 2005-53
000002 2005-52
……        ……
000002 2005-2
000002 2005-1
…………………………


研究期间为2005-2015年,样本公司为全部A股上市公司。
现在需要统计每个公司每一年的交易周数,比如000002在2015年为53周等。
可否利用proc sql中的count()函数?
小白编了一段 但是失败了,因为无法同时按照公司和时间进行分类。

就好像是 现在需要统计 职称为高级且学历为博士的 教师人数(个数),就是同时按照两个标准对某个数据输出其记录个数。
求求各位指教,是否要用proc freq过程呢。该怎样删除股票年交易周数小于30的样本。。。

二维码

扫码加我 拉你入群

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

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

全部回复
2016-4-20 01:05:02
data orig ;
  input id $ trades $ ;
datalines ;
000002 2015-53
000002 2015-52
……        ……
000002 2005-2
000002 2005-1
……………
;
run;

proc sql ;
  create table newdata as
  select distinct ID, substr(trades,1,4) as Year, count(input(substr(trades,6),2.)) as yearCount
  from orig
  group by calculated year
  having count(*) >= 30 ;
quit ;
二维码

扫码加我 拉你入群

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

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

2016-4-20 10:28:21
yingzi2003 发表于 2016-4-20 01:05
data orig ;
  input id $ trades $ ;
datalines ;
谢谢!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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