楼主: caibirdcnb
1155 0

[问答] 请问高手如何在宏里判断数据集的变量是否为缺失?谢谢! [推广有奖]

  • 0关注
  • 36粉丝

讲师

47%

还不是VIP/贵宾

-

威望
0
论坛币
1367 个
通用积分
16.5538
学术水平
67 点
热心指数
70 点
信用等级
64 点
经验
6762 点
帖子
206
精华
2
在线时间
433 小时
注册时间
2011-8-31
最后登录
2023-9-23

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币


有一个数据集test,对其中一行来说,里面有N个变量,其中未知个变量为缺失。目标是找出不是缺失的变量,然后判断这些不是缺失的变量的值是否一致。

即:N个变量,其中x个是缺失值,剩余的有数值的变量(N-x)个,比较他们的数值是不是一致。

我编写到下面就进行不下去了,请高手指点。

data test;
        X1=1;
        X2=.;
        X3=4;
        X4=7;
        X5=.;
        X6=6;
run;

data test2;
        set test;

        %want(vars=X1 X2 X3 X4 X5 X6);
run;

%macro want(vars=);
        %let count=%sysfunc(countw(%sysfunc(compbl(&vars)),' '));

        %let wrds=;

        %do i=1 %to &count;
                if missing(%scan(&vars,&i))=0 then 这里怎么写才能得到宏变量wrds的值是X1=X3=X4=X6?
        %end;

        if not (&wrds) then
                do;
                        do-something;
                        output;
                end;
%mend;


二维码

扫码加我 拉你入群

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

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

关键词:数据集 something sysfunc missing countw

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

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

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

GMT+8, 2024-4-20 04:50