我正在尝试在SAS中合并以下行。数据如下:
StudentNumber Test1 Test2 Test3
001 . 86 .
001 94 . .
001 . . 75
002 68 . .
002 . 82 .
002 . . 97
我希望这些行如下所示:
StudentNumber Test1 Test2 Test3
001 94 86 75
002 68 82 97
我习惯用COALESCE函数合并列,但是我不确定如何对行进行合并。
答案 0 :(得分:6)
您可以使用UPDATE
语句执行此操作。 update语句期望具有一个每个BY组具有唯一观测值的主数据集,以及一个每个BY组可以具有多个观测值的事务数据集。只有交易的非缺失值会更改这些值。在所有BY交易中,每个BY组的输出将只有一个观察值。
通过将数据集选项obs=0
添加到第一个引用,您可以将现有数据用作主数据集和交易数据集。
data want;
update have(obs=0) have;
by studentnumber;
run;