全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1320 7
2012-11-15
course变量含有如下值:
HIST400
SCI400
MATH400
怎么把它变成两个变量SUBJECT 、 LEVEL
hist   400
sci    400
math 400

二维码

扫码加我 拉你入群

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

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

全部回复
2012-11-15 20:36:10
使用compress函数,compress(variable,"","modifier"),modifier可以使用k,表示保留,用d表示数字,kd表示只保留数字
如level=compress(course,"","kd");
同样有一个modifier表示字母,具体我忘了,你可以查一下,
要么就是subj=compress(course,"0123456789");
二维码

扫码加我 拉你入群

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

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

2012-11-15 20:59:00
level=substr(course,length(course)-2,3);
SUBJECT=substr(course,1,length(course)-3);
二维码

扫码加我 拉你入群

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

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

2012-11-15 21:40:18
复制代码
IMASASOR说的应该是这个。
二维码

扫码加我 拉你入群

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

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

2012-11-16 11:54:23
It is better to use function to identify the positions and handle it accordingly. Keep in mind to minimize the assumptions about data structures.

data def;
length subject level $15;
input x $20.;
subject=substr(x,1,indexc(x,'0123456789')-1) ;
level  =substr(x,indexc(x,'0123456789')) ;
cards;
HIST400
SCI400
MATH400
HIST400
LANGUAGE12345
;

proc print;run;
二维码

扫码加我 拉你入群

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

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

2012-11-19 23:47:18
compress(character-value,<,'compress-list'>,<,modifiers>)
其中modifiers有:
a include all upper and lowercase letter
d include all digits
i ignore the case of character
还有 k p s
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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