全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
941 3
2012-06-18
数据集有一变量age
里面包含的观测值有*和3/44
按照把age作为一般数字型变量读取的话,这两种读出来都是缺失“.”
要求是把*读出的结果是a,将3/44这种形式读出来的结果是1.
请问需要做什么处理。


二维码

扫码加我 拉你入群

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

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

全部回复
2012-6-18 14:50:35
刚问了群里的一位前辈。找到了答案,如下:

data three;
infile"C:\Users\Administrator\Desktop\final\data4.dat";
input firstn$ lastn$ age$ sex$;
if index(age,'/')^=0 then age='1';
else if age in ('*' 'U') then age='.';
run;proc print;run;
二维码

扫码加我 拉你入群

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

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

2012-6-18 16:07:51
随便写了一个,看是不是你要的.

data work.a;
        input age $;
        datalines;
*
3/44
*
4/44
;
run;

data work.b;
        set work.a;
        if find(age,'*') > 0 then do;
                age = 'a';
        end;else if find(age,'/') > 0 then do;
                age = '1';
        end;
run;
二维码

扫码加我 拉你入群

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

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

2012-6-18 16:11:06
chendonghui1987 发表于 2012-6-18 16:07
随便写了一个,看是不是你要的.

data work.a;
谢谢。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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