楼主: Imasasor
2463 3

scan函数的modifier [推广有奖]

  • 1关注
  • 64粉丝

VIP

已卖:215份资源

学科带头人

33%

还不是VIP/贵宾

-

TA的文库  其他...

超哥喜欢的文章

威望
1
论坛币
47033 个
通用积分
3.1376
学术水平
238 点
热心指数
246 点
信用等级
231 点
经验
37132 点
帖子
849
精华
3
在线时间
2235 小时
注册时间
2012-7-4
最后登录
2024-10-10

初级学术勋章 初级热心勋章 初级信用勋章 中级热心勋章 中级学术勋章

楼主
Imasasor 发表于 2012-12-27 16:12:48 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
  1. data n;
  2. length y $ 20;
  3. x="sex 性别 # (1=男,2=女)";
  4. do i=1 to 5;
  5. y=scan(x,i,"0123456789abcdefghigklmnopqrstuvwxyz","k");
  6. output;
  7. end;
  8. run;
  9. proc print;run;
  10. data n;
  11. length y $ 20;
  12. x="sex 性别 # (1=男,2=女)";
  13. do i=1 to 5;
  14. y=scan(x,i,"","kda");
  15. output;
  16. end;
  17. run;
  18. proc print;run;
复制代码
此处用到了scan函数的三个modifier
sas help的说明如下:
a or A

adds alphabetic characters to the list of characters.

d or D  adds digits to the list of characters.

k or Kcauses all characters that are not in the list of characters to be treated as delimiters. That is, if K is specified, then characters that are in the list of characters are kept in the returned value rather than being omitted because they are delimiters. If K is not specified, then all characters that are in the list of characters are treated as delimiters.


为什么上面两个程序得出的结果不一样?

二维码

扫码加我 拉你入群

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

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

关键词:scan IFI DIF Mod ODI alphabetic

欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

沙发
a6566792 在职认证  发表于 2012-12-27 16:47:48
ERROR 72-185: SCAN 函数调用参数过多。
确定程序是跑的出来的吗

藤椅
Imasasor 发表于 2012-12-27 16:50:08
a6566792 发表于 2012-12-27 16:47
ERROR 72-185: SCAN 函数调用参数过多。
确定程序是跑的出来的吗
你的是什么版本的sas?
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

板凳
a6566792 在职认证  发表于 2012-12-27 16:51:56
Imasasor 发表于 2012-12-27 16:50
你的是什么版本的sas?
9.1的,刚试了9.2的,没问题了。。。
我看就是“k”和“kda” 对字符段的区分识别不同,"k"只识别自己定义好的字符,英文符号是分隔符,"kda"将中文也默认为可识别字符了,只有英文符号是它的分隔符,结果别能解释了(你这里的都好是中文字符下的)

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 23:16