首页 文章

将以下数据导入sas时我做错了什么

提问于
浏览
-1

我正在尝试使用以下代码将某些数据导入我的SAS数据集:

Data Names_And_More;

Infile 'C:\Users\Admin\Desktop\Torrent Downloads\SAS 9.1.3 Portable\Names_and_More.txt';
Input Name   &  $20. 
      Phone  :  $20.  
      Height &  $10.  
      Mixed  &  $10.;
run;

文件中的数据如下:

Roger Cody (908)782-1234 5ft. 10in. 50 1/8
Thomas Jefferson (315)848-8484 6ft. 1in. 23 1/2
Marco Polo (800)123-4567 5Ft. 6in. 40
Brian Watson (518)355-1766 5ft. 10in 89 3/4
Michael DeMarco (445)232-2233 6ft. 76 1/3

我一直在努力学习SAS,在通过Ron Cody的书中学习SAS时,我发现要导入上面的数据,我们可以使用'&符号(&)信息修饰符 . &符号与冒号一样,表示使用提供的信息,但分隔符现在是两个或更多空格而不是一个空格 . (罗恩的话,不是我的) . 但是,在导入时,结果(数据集)如下:

Name            Phone      Height        Mixed

                  Roger Cody (908)782-    Thomas    Jefferson    Marco Polo

此外,有关更多详细信息,SAS日志如下:

419 Data Names_And_More; 420 Infile'C:\ Users \ Admin \ Desktop \ Torrent Downloads \ SAS 9.1.3 Portable \ Names_and_More.txt'; 421输入名称和20美元 . 422电话:20美元 . 423高度和10美元 . 424混合和10美元 . 425;跑;

注意:

infile'C:\ Users \ Admin \ Desktop \ Torrent Downloads \ SAS 9.1.3 Portable \ Names_and_More.txt'是:文件名= C:\ Users \ Admin \ Desktop \ Torrent下载\ SAS 9.1.3 Portable \ Names_and_More .txt,RECFM = V,LRECL = 256

注意:

丢失的卡片 . 姓名= Brian Watson(518)35电话= Michael Height = DeMarco(4混合=错误= 1 N = 2注意:从infile'C:\ Users \ Admin \ Desktop \ Torrent Downloads \ SAS 9.1.3读取5条记录Portable \ Names_and_More.txt' . 最小记录长度为37.最大记录长度为47.注意:当INPUT语句超过行尾时,SAS转到新行 . 注意:数据集WORK.NAMES_AND_MORE有1观察和4个变量 . 注意:使用的DATA语句(总处理时间):实时0.17秒cpu时间0.14秒

我正在寻找这个帮助 . 如果有人能够解释究竟发生了什么,我做错了什么以及如何纠正这个错误,那就太棒了 .

谢谢

1 回答

  • 0

    答案在Ron Cody的书中的解释中 . &意味着您需要两个空间来分隔变量;所以你需要在名字后面加第二个空格(和其他字段用&) .

    错误:

    Roger Cody (908)782-1234 5ft. 10in. 50 1/8
    

    对:

    Roger Cody  (908)782-1234 5ft. 10in.  50 1/8
    

相关问题