全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
11944 7
2014-10-14
悬赏 5 个论坛币 已解决
QQ截图20141014232547.jpg 数据集balancesheet大概是这样的。第一个问题是我需要将不同代码的股票按照2001-2011年10年间每年12月31日的数据拆分成十个子数据集,程序应该如何写啊?求大神指教。

第二问题是我需要删除在2001-2011年数据不完整的股票,具体程序又是如何的呢?SAS新手,还请路过大神指点一番,解决问题可以论坛币答谢~!
QQ截图20141014232547.jpg

原图尺寸 74.26 KB

QQ截图20141014232547.jpg

最佳答案

lwien007 查看完整内容

第一个问题 data t1-t11; set balancesheet; if period = '2001-12-31' then output t1; if period = '2002-12-31' then output t2; if period = '2003-12-31' then output t3; if period = '2004-12-31' then output t4; if period = '2005-12-31' then output t5; if period = '2006-12-31' then output t6; if period = '2007-12-31' then output t7; if period = '2008-12-31' then output t8; if period ...
二维码

扫码加我 拉你入群

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

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

全部回复
2014-10-14 23:26:45
第一个问题
data t1-t11;
        set balancesheet;
        if period = '2001-12-31' then output t1;
        if period = '2002-12-31' then output t2;
        if period = '2003-12-31' then output t3;
        if period = '2004-12-31' then output t4;
        if period = '2005-12-31' then output t5;
        if period = '2006-12-31' then output t6;
        if period = '2007-12-31' then output t7;
        if period = '2008-12-31' then output t8;
        if period = '2009-12-31' then output t9;
        if period = '2010-12-31' then output t10;
        if period = '2011-12-31' then output t11;
run;

第二个问题,你的period应该是字符型,首先转换成日期型新变量date
data tmp;
        set balancesheet;
        date = input(period,yymmdd10.);
        format date yymmdd10.;
        if year(date)>2000 and year(date)<2011 then do;
                if missing(asset) or missing(cash) then delete;
        end;
run;
二维码

扫码加我 拉你入群

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

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

2014-10-16 15:37:21
lwien007 发表于 2014-10-15 10:31
第一个问题
data t1-t11;
        set balancesheet;
大神你好~!第二个问题是为了删除在2001-1-1至2011-12-31期间没有连续公布财务报表的公司,也就是说我应该去判断每个CODE变量是否都对应着有2001-2011年底的数据,若不全则删除所有该code对应的观测诶,应该如何写啊?接触sas时间不过一周,所以问题傻了点,还请大神赐教啊
二维码

扫码加我 拉你入群

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

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

2014-10-17 10:50:29
复制代码
二维码

扫码加我 拉你入群

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

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

2014-10-17 17:17:48
lwien007 发表于 2014-10-17 10:50
第一个按年份分隔数据集的代码不能生成11个数据表诶,我已经将日期改成了字符型,可是还是报错,只能生成t1和t11数据步,而且里面没有数据呢。。。
二维码

扫码加我 拉你入群

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

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

2014-10-23 12:15:24
锦sè♀ 发表于 2014-10-17 17:17
第一个按年份分隔数据集的代码不能生成11个数据表诶,我已经将日期改成了字符型,可是还是报错,只能生成 ...
第一个程序肯定可以生成数据集,你的错误log中提示什么
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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