请选择 进入手机版 | 继续访问电脑版
楼主: yijiaobani
5106 3

SAS 读入数据 制表符和空格 [推广有奖]

  • 4关注
  • 5粉丝

博士生

26%

还不是VIP/贵宾

-

威望
0
论坛币
186 个
通用积分
10.4911
学术水平
2 点
热心指数
8 点
信用等级
0 点
经验
5127 点
帖子
147
精华
0
在线时间
236 小时
注册时间
2015-5-18
最后登录
2020-10-28

yijiaobani 发表于 2016-1-5 21:24:45 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
大叫好,我请教个问题,有时数据里面有空格,还有制表符,SAS读入数据时报错,如果我把制表符改成空格,就可以读了,有没有直接识别制表符的。有没有像perl一样直接识别连续空格的“\s+"。
我的程序:
  1. data aaa;
  2. input x y z;
  3. cards;
  4. 1 2        3
  5. 3 4 5
  6. ;
  7. proc print data=aaa;
  8. run;
复制代码

我的结果:

[td]

Obs

x

y

z

1

1

.

3





十分感谢
二维码

扫码加我 拉你入群

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

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

关键词:读入数据 制表符 cards print Input 制表符

<img src="stati ...
  1. data aaa;
  2. infile datalines missover;
  3. input x y z:;
  4. cards;
  5. 1 2        3
  6. 3 4 5
  7. ;
  8. proc print data=aaa;
  9. run;
复制代码

使用道具

Tigflanker 发表于 2016-1-6 10:53:08 |显示全部楼层 |坛友微信交流群
SAS中支持正则的,例如:new = prxchange('s/\s/ /',-1,old) 就可以把所有白空格替换成普通空格

另外\t代表制表符,假如你使用cards语句,你也完全可以选中cards区内容,替换,\t -> ' ',替换选定区域内容

使用道具

yijiaobani 发表于 2016-1-7 08:44:57 |显示全部楼层 |坛友微信交流群
Tigflanker 发表于 2016-1-6 10:53
SAS中支持正则的,例如:new = prxchange('s/\s/ /',-1,old) 就可以把所有白空格替换成普通空格

另外\t代 ...
最后我是用正则表达式替换的,感觉SAS清洗数据不如R,怪怪的,只用来分析数据吧

使用道具

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

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

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

GMT+8, 2024-3-28 21:24