SAS中文论坛
标题:
一个数据输入的问题,也许很菜,但很急!
[打印本页]
作者:
shiyiming
时间:
2004-10-18 00:54
标题:
一个数据输入的问题,也许很菜,但很急!
数据如下:
52818 1992 03 05 -011 -010 -010
52818 1992 03 06 -006 -009 -011
52818 1992 03 07 -004 -007 -009
52818 1992 03 08 -006 -008 -009
52818 1992 03 09 -001 -006 -009
52818 1992 03 10 -006 -006 -008
52818 1992 03 11 006 -003 -008
52818 1992 03 12 005 -003 -006
52818 1992 03 13 018 003 -005
52818 1992 03 14 010 002 -004
52818 1992 03 15 000 -003 -005
52818 1992 03 16 010 001 -005
作为外部文件导入时最后面三列各占4个字符,负数可以正常输入,但是正数全部变成了缺失去值,因为前面有一个空格,请教各位应该如何解决呢?
作者:
shiyiming
时间:
2004-10-18 09:03
标题:
use infile statement.
你是用什么类型的外部文件导入的?可能是某些文件类型将多余的空格当成了数据列来处理而导致此问题。
你可以采取如下方式处理(经测试没有问题)。
1. 将数据直接放在SAS程序的数据块中读取,即用cards语句(或datalines语句)。
2. 将数据存入文本文件,用infile语句读入。
作者:
shiyiming
时间:
2004-10-18 11:33
标题:
RE
-004 -007 -009
-006 -008 -009
-001 -006 -009
-006 -006 -008
006 -003 -008
005 -003 -006
018 003 -005
010 002 -004
000 -003 -005
数据是外部文件,而且很大,用cards恐怕不可行。
使用input语句输入时,后面三列数据有的是正数,有的是负数,指定数据宽度或者位置后,该如何消除输入时正数前面的空格呢?
谢谢啦!
作者:
shiyiming
时间:
2004-10-18 11:37
标题:
re
上面的数据中,正数前面是有空格的,正数前面的空格刚好与负数的负号对齐,导致能正确读入负数,而读书入正数时,因为第一个读入的字符为空格,就读成了缺失值。
郁闷……
作者:
shiyiming
时间:
2004-10-18 17:23
标题:
Re
可以按列读入吧
作者:
shiyiming
时间:
2004-10-23 10:39
标题:
re
可以以字符的形式读入, 就不会有正负号的问题了。
data test;
infile infl missover;
input v1 v2 v3 v4 v5 $ v6 $ v7 $;
run;
作者:
shiyiming
时间:
2004-10-24 23:21
标题:
re
呵呵,是我笨,用列举输入模式就可以了。
不使用dsd选项,多个相连的分隔符作为一个处理。
欢迎光临 SAS中文论坛 (http://mysas.net/forum/)
Powered by Discuz! X3.2