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
;
还要确保使用句点来表示任何缺失值。
以下是我的代码:
/* 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
;
还要确保使用句点来表示任何缺失值。