如何在SAS EG中手动输入数据

How to maually input data in SAS EG

刚开始学习 SAS,正在阅读一本教科书,其中 table 使用以下代码创建。

Data travel;
    input City $ 1-9 Nights 11 LandCost 13-16 NumberOfEvents 18
          EventDescription $ 20-36 TourGuide $ 38-45
          BackUpGuide $ 47-54;
datalines;
Rome        3 750   7 4 M, 3 G                  D’Amico Torres
Paris       8 1680  6 5 M, 1 other              Lucas Lucas
London      6 1230  5 3 M, 2 G                  Wilson Lucas
New York    6 .     8 5 M, 1 G, 2 other         Lucas D’Amico
Madrid      3 370   5 3 M, 2 other              Torres D’Amico
Amsterdam   4 580   6 3 M, 3 G                  Vandever
;
Run;

书中给出的预期输出是这样的:

然而,当我 运行 程序时,它给了我以下内容

如何解决这个问题?

您的列指针不正确。看看对你有没有帮助

Data travel;
    input City $ 1-9 Nights 11 LandCost 13-16 NumberOfEvents 18
          EventDescription $ 20-36 TourGuide $ 38-45
          BackUpGuide $ 47-54;
datalines;
Rome      3 750  7 4 M, 3 G          D’Amico  Torres 
Paris     8 1680 6 5 M, 1 other      Lucas    Lucas  
London    6 1230 5 3 M, 2 G          Wilson   Lucas  
New York  6 .    8 5 M, 1 G, 2 other Lucas    D’Amico
Madrid    3 370  5 3 M, 2 other      Torres   D’Amico
Amsterdam 4 580  6 3 M, 3 G          Vandever        
;
Run;

你是怎么自己输入数据行的?

如果您使用 tab-stop 设置为 4 的编辑器输入它们,并且您在输入数据行时使用了 某些 制表符,则这些停止可能会导致数据与示例代码不一致。

如果您复制粘贴,可能源代码有制表符,而编辑器将制表符扩展到达到制表位的空格。

无论如何,添加 'ruler' 注释行可以帮助您了解需要对代码或数据行进行哪些调整。

Data travel;
    input City $ 1-9 Nights 11 LandCost 13-16 NumberOfEvents 18
          EventDescription $ 20-36 TourGuide $ 38-45
          BackUpGuide $ 47-54;
datalines;
Rome        3 750   7 4 M, 3 G                  D’Amico Torres
Paris       8 1680  6 5 M, 1 other              Lucas Lucas
London      6 1230  5 3 M, 2 G                  Wilson Lucas
New York    6 .     8 5 M, 1 G, 2 other         Lucas D’Amico
Madrid      3 370   5 3 M, 2 other              Torres D’Amico
Amsterdam   4 580   6 3 M, 3 G                  Vandever
;
*234567890123456789012345678901234567890123456789012345678901234567890123
*        1         2         3         4         5         6         7
*   T   T   T   T   T   T   T   T   T   T   T   T   T   T   T   T   T   T  cursor position after tab hit
;

<NOSTALGIA>

有时我会怀念程序编辑器和行命令,例如 COLS

SAS 文档似乎正在摆脱程序编辑器文档,就像一个尴尬的成年人可能会处理他们十几岁时的糟糕发型照片。

祝你好运,在 documentation.sas.com 找到 The COLS line command displays a special line that indicates the column numbers across the Program Editor window.,我找不到。

</NOSTALGIA>