SAS 变量在输入数据时读取的级别太多

SAS Variable is reading too many levels when inputting data

以下是我的代码:

/* Enter Data */
data leaf;
    input Delay Angle @@;
    cards;
    30 140  30 138  30 140  30 138  30 142
    45 140  45 150  45 120  45 128  45 130
    60 118  60 130  60 128  60 118  60 118
;
run;

/* Comparing All Delays */
proc glm data=leaf plots=diagnostics;
    class Delay;
    model Angle = Delay;
    means Delay / HOVtest=Levene;
    title "Comparison of All Delays";
run;

当我 运行 代码时,我收到以下信息:

我的问题是 Delay 变量应该只有 3 个级别,值为 30 45 60,但如您所见,它读取的级别超出了应有的级别。对我来说,数据看起来非常好,但我不知道为什么读取不正确。非常感谢任何帮助!

复制并粘贴到 SAS Display Manager 编辑器时,您的数据步骤仅产生三个不同的延迟值 window。

也许在那个“白色”space 中隐藏了一些非 space 字符,导致 INPUT 语句不同步。

但是为什么要缩进 CARDS 语句和行内数据行?尝试像这样格式化您的代码以降低这样做的风险。

data leaf;
  input Delay Angle @@;
cards;
30 140  30 138  30 140  30 138  30 142
45 140  45 150  45 120  45 128  45 130
60 118  60 130  60 128  60 118  60 118
;

还要确保使用句点来表示任何缺失值。