楼主: cathyingrace
4428 1

请问如何删除含有缺失值的列? [推广有奖]

  • 3关注
  • 0粉丝

高中生

42%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
163 点
帖子
17
精华
0
在线时间
27 小时
注册时间
2015-1-13
最后登录
2019-12-20

楼主
cathyingrace 学生认证  发表于 2015-4-16 16:12:52 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
在论坛里找了都没找到答案,特发此贴,求教高人。
1 我有许多股票(五千只)收益率的数据(每只股票一列时间序列数据,一张表格纵向是时间,横向是股票代码),但是其中很多股票的年份有缺失值。如果我就想删掉有缺失值一整列数据(也就是说有缺失值我就删掉那只股票)有没有程序可以实现自动筛选和删除?

2 如果我的股票数据一列下来的,我想把它拆成每只股票一个数据集,在网上找了一个宏,但是这个宏最多只能拆999个数据集,这是为什么呢?把程序附在下面。

十分感谢!!

*宏的赋值语句;
DATA _NULL_;
SET trial END=EOF;         
BY CRSP_FUNDNO;                    
IF FIRST.CRSP_FUNDNO THEN DO;   
    NUMCTY+1;                  
    CTYOBS=0;                  
    END;
CTYOBS+1;                     
IF LAST.CRSP_FUNDNO THEN DO;      
    CALL SYMPUT('MCTY'||LEFT(PUT(NUMCTY,3.)),CRSP_FUNDNO);
    CALL SYMPUT('MOBS'||LEFT(PUT(NUMCTY,3.)),LEFT(CTYOBS));
    END;
IF EOF THEN                     
    CALL SYMPUT('MTOTCT',NUMCTY);
RUN;


*下面的宏实现多个数据集的生成:这里dsn是原数据集,byvar是要根据哪个变量的值来生成数据集;
%macro group(dsn,byvar);
  data %do i=1 %to &MTOTCT;
        A&i
       %end;
;
    set &dsn;
      %do i=1 %to &MTOTCT;
        if &byvar="&&MCTY&i" then output A&i;
      %end;
  run;
%mend;
%group(***,***);

二维码

扫码加我 拉你入群

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

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

关键词:缺失值 symput 时间序列数据 output Group 如何

沙发
cathyingrace 学生认证  发表于 2015-4-17 14:50:11
没人理我吗

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-2 06:29