这里是我的数据集: Name Mark Math1 Math2 Math3 ----------------------------- --------输出观察是否符合标准
Justin AA1 1 0 1
Justin BB1 1 1 1
Justin BA1 0 1 0
Justin BC2 0 0 1
这里是SAS代码来创建它
DATA Student1;
INPUT Name $ Mark $ Math1 Math2 Math3;
DATALINES;
Justin AA1 1 0 1
Justin BB1 1 1 1
Justin BA1 0 1 0
Justin BC2 0 0 1
;
我想评价MATH1和输出旁边如果遇到1的关口,但是因为Math1中使用了该位置,Math2中不能再使用该位置,即输出Justin的Math1为AA1,Math2的BB1输出(因为这是第一个位于的位置)列)和BC2,因为即使我们在AA1和BB1的同一行上有1,这两个标记已经在var Math1和Math2中使用过了。
这是输出数据集应该是什么样子
data Student2;
input name $ Math1 $ Math2 $ Math3 $;
datalines;
Justin AA1 BB1 BC2
;
我能做到这一点使用数组?
这似乎是一个问题,涉及在输出解决方案数据集之前操纵输入数据集。如果您可以发布更准确的输入数据集视图,可以找到解决方案。你能否在数据库中包含数据步骤,以便可以测试解决方案? – 2012-01-06 13:35:12
是否有从math1到math3的强制性命令?例如如果第二行是“Justin BB1 0 0 1”,那么我们跳过这一行或输出bb1并跳过第四行bc2,因为已经使用了math3? – 2012-01-07 10:05:20
这是正确的Robbie我们跳过了这一行,因为1在这种情况下是一个指示符1在第三列中,所以我们在第四行输出标记。这个标记必须是唯一的,即不能输出两次 - 这是困难的部分 – Makoto 2012-01-07 10:39:40