全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1640 11
2013-05-11
我需要用if/then这个statement创建一个新的variable ‘type',数据本身除了ID,有5个variable了,通过创建新的variable,最后的数据想出现如下的效果,例子如下,但是问题是怎么写这个if的statement呢?跪谢了!!!

还有一个小问题,就是需要考虑Missing data吗?

ID VAR1 VAR2 VAR3 VAR4 VAR5 TYPE
1    A                                          A
2    B                                          B
3    A       A                                 A
4    B       B       B                        B
5    A       B       A                      MIX
6    A       A       A       A       A      A
7    B       B       B       B               B
8    A       A       A       A       B    MIX
9    B       A                               MIX

二维码

扫码加我 拉你入群

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

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

全部回复
2013-5-11 01:52:02
最原始的方法
length Type $8.;
array var{*} var1-var5;
A = 0; B = 0;
do i = 1 to dim(&var);
        if var[i] = 'A' then A = 1;
        else if var[i] = 'B' then B = 1;
end;

if A = 1 and B = 0 then Type = 'A';
else if A = 0 and B = 1 then Type = 'B';
else if A = 1 and B = 1 then Type = 'Mix';
二维码

扫码加我 拉你入群

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

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

2013-5-11 02:11:14
yuerqieqie 发表于 2013-5-11 01:52
最原始的方法
length Type $8.;
array var{*} var1-var5;
那请问最后还需要加一个else type = 'mix'; 吗?
二维码

扫码加我 拉你入群

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

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

2013-5-11 02:14:31
duanesummer 发表于 2013-5-11 02:11
那请问最后还需要加一个else type = 'mix'; 吗?
Type 在循环完array之后再确定的
Type :Mix由下面的statement确定
if A = 1 and B = 1 then Type = 'Mix';
二维码

扫码加我 拉你入群

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

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

2013-5-11 03:38:59
yuerqieqie 发表于 2013-5-11 02:14
Type 在循环完array之后再确定的
Type :Mix由下面的statement确定
if A = 1 and B = 1 then Type = 'M ...
多谢MM啊。。我周一回公司试一下。。。
二维码

扫码加我 拉你入群

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

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

2013-5-11 04:32:46
yuerqieqie 发表于 2013-5-11 01:52
最原始的方法
length Type $8.;
array var{*} var1-var5;
MM,我还想请问一下,就是array的定义,是不是应该写成:
array var_array{5}var1-var5;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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