Sas 为什么输出数据行向下移动了一个单元格?
我正在使用一个最简单的程序,找出所有分数的平均值,去掉最低的两个Sas 为什么输出数据行向下移动了一个单元格?,sas,Sas,我正在使用一个最简单的程序,找出所有分数的平均值,去掉最低的两个 data new; low1=smallest(1,score_1-score_6); low2=smallest(2,score_1-score_6); tot=score_1+score_2+score_3+score_4+score_5+score_6; avg=(tot-low1-low2)/4; set mydata; run; “mydata”不包含任何缺失值,但在输出表中,数据向下移动一个单元格。 输出看起来像di
data new;
low1=smallest(1,score_1-score_6);
low2=smallest(2,score_1-score_6);
tot=score_1+score_2+score_3+score_4+score_5+score_6;
avg=(tot-low1-low2)/4;
set mydata;
run;
“mydata”不包含任何缺失值,但在输出表中,数据向下移动一个单元格。
输出看起来像dis
id低1分\u 1分\u 2分\u 3分\u 4分\u 5分\u 6低2总分平均值
1 . 0 0 10 80 0 75 . . .
2 0 0 0 0 75 80 0 0 165 41.25
3 0 0 50 10 60 55 0 0 155 38.25
4...and so on
sas生成如下注释:
注意:缺失值是对缺失值执行操作的结果
我不明白为什么计算值打印在第2行,而不是从第1行开始?
非常感谢您的帮助,谢谢 将SET语句放在DATA语句之后(我认为这通常是个好主意)。正如您所看到的,第一行试图创建一个变量,但没有任何数据;数据只在最后读取