2011-12-28 123 views
0

我有如下表:PROC IML与SAS

WEIGHT DATE 1/1/11 1/2/11 1/3/11 ... 1/12/11 
NAME 
NICK   70 kg  .  72kg  . 
JOHN   60 kg  63 kg .  60 kg 
MIKE   50kg  51kg 50kg  . 
BOB    75kg  .  .   . 
... 

而且我想填补缺失值“”与预先声明。

例如,对于NICK我会得到:

WEIGHT DATE 1/1/11 1/2/11 1/3/11 ... 1/12/11 
NAME 
NICK  70 kg  70kg  72kg  72kg 

我很新的SAS和我没有对如何做到这一点的线索。目前,我的想法是使用proc IML将每行读取为一个数组并对其进行处理,但我从未使用过这样的过程。

感谢您的帮助

回答

1

您不需要PROC IML。你可以用数组和第一个和最后一个语句来做到这一点,也可能是一个滞后语句。

我不是数据步骤专家,但搜索SAS-L会发现一些东西。我知道Ron Cody在他关于SAS的纵向数据的书中解决了这个问题,但我现在无法访问该书。

+0

Thx很多,它可以很好地处理数组,但我现在有一个新问题。我不知道如何根据日期定义我的数组?你有关于如何做到这一点的想法?目前我将列的名称更改为COL1 ... COL12,并写入数组[12] COL1-COL12。 – 2011-12-28 13:46:58

+0

其实我找到了解决办法。再次感谢。 – 2011-12-28 13:53:11