即使有缺失值,SAS如何总结?

时间:2014-12-17 10:23:25

标签: sas missing-data calculus

这是我的数据,我称之为'时间'。

 VAR1              VAR2              VAR3             VAR4
 02NOV14:10:23:00 02NOV14:10:38:00 02NOV14:10:38:00   
 02NOV14:12:52:00 02NOV14:13:05:00     
 02NOV14:18:57:00 02NOV14:19:14:00 02NOV14:19:14:00 02NOV14:19:14:00 
 03NOV14:10:13:00 03NOV14:10:13:00     
 03NOV14:16:33:00 03NOV14:17:29:00 03NOV14:17:29:00   
 03NOV14:12:35:00 03NOV14:12:40:00 03NOV14:12:40:00   
 03NOV14:13:26:00 03NOV14:13:59:00 03NOV14:13:59:00   
 03NOV14:14:34:00 03NOV14:14:41:00 03NOV14:14:41:00   
 03NOV14:15:12:00 03NOV14:15:14:00 03NOV14:15:14:00   
 03NOV14:15:48:00 03NOV14:16:18:00 03NOV14:16:18:00   
 03NOV14:15:51:00 06NOV14:14:46:00 06NOV14:14:46:00    
 07NOV14:11:35:00 07NOV14:12:15:00 07NOV14:12:15:00   
 07NOV14:12:32:00 07NOV14:14:34:00 07NOV14:14:34:00 07NOV14:14:34:00 
 07NOV14:12:18:00 07NOV14:12:19:00 07NOV14:12:19:00 07NOV14:12:19:00 
 08NOV14:20:57:00 08NOV14:21:03:00 08NOV14:21:03:00   

我想创建新的变量

VAR5 = VAR2 - VAR1;
VAR6 = VAR3 - VAR1;
VAR7 = VAR4 - VAR1;

我使用此代码

data time;
set time;
VAR5 = VAR2 - VAR1;
VAR6 = VAR3 - VAR1;
VAR7 = VAR4 - VAR1;
run;

当我打印时,VAR6和VAR7为空。我想因为VAR 3和VAR4 SAS中缺少值而不计算VAR6和VAR7。当我有数据时如何获取它们的值? 有人能帮助我吗?

次数我有VAR3和VAR4的值以及我没有的次数。所以我希望在可能的情况下为VAR 6和VAR7提供价值。例如,对于第一次观察我可以有VAR5 VAR6而不是VAR7,因为第二次观察没有值我只能有VAR5,对于第三次观察我通常会得到VAR5 VAR6和VAR7。

1 个答案:

答案 0 :(得分:0)

相应更新了代码。 不缺少函数将确保仅在参数不丢失时才进行计算。

data time;
set time;
if not missing(var1) then do;
if not missing(Var2) then VAR5 = VAR2 - VAR1;
if not missing(Var3) then VAR6 = VAR3 - VAR1;
if not missing(Var4) then VAR7 = VAR4 - VAR1;
end;
run;