我想在SAS中组合以下行.这是数据:
StudentNumber Test1 Test2 Test3
001 . 86 .
001 94 . .
001 . . 75
002 68 . .
002 . 82 .
002 . . 97
Run Code Online (Sandbox Code Playgroud)
我希望行看起来如下所示:
StudentNumber Test1 Test2 Test3
001 94 86 75
002 68 82 97
Run Code Online (Sandbox Code Playgroud)
我习惯于将列与COALESCE函数合并,但我不确定如何使用行来执行此操作.
您可以使用该UPDATE语句来执行此操作.update语句需要一个主数据集,每个BY组具有唯一的观察值,并且每个BY组可以有多个观察值的事务数据集.只有事务的非缺失值才会更改值.输出将按BY组进行一次观察,并应用所有事务.
通过将数据集选项添加obs=0到第一个引用,可以将现有数据用作主数据集和事务数据集.
data want;
update have(obs=0) have;
by studentnumber;
run;
Run Code Online (Sandbox Code Playgroud)