这是我的数据,我称之为'时间'。
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。
答案 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;