楼主: 子衿1219
792 3

数据读取及处理 [推广有奖]

  • 1关注
  • 4粉丝

讲师

70%

还不是VIP/贵宾

-

威望
0
论坛币
60 个
通用积分
1.0023
学术水平
2 点
热心指数
0 点
信用等级
1 点
经验
13521 点
帖子
326
精华
0
在线时间
431 小时
注册时间
2012-3-19
最后登录
2018-7-8

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据集有一变量age
里面包含的观测值有*和3/44
按照把age作为一般数字型变量读取的话,这两种读出来都是缺失“.”
要求是把*读出的结果是a,将3/44这种形式读出来的结果是1.
请问需要做什么处理。


二维码

扫码加我 拉你入群

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

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

关键词:数据读取 Age 观测值 做什么 数据集 做什么

沙发
子衿1219 发表于 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;

使用道具

藤椅
chendonghui1987 发表于 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;

使用道具

板凳
子衿1219 发表于 2012-6-18 16:11:06 |只看作者 |坛友微信交流群
chendonghui1987 发表于 2012-6-18 16:07
随便写了一个,看是不是你要的.

data work.a;
谢谢。

使用道具

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

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

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

GMT+8, 2024-5-26 19:06