保留基于 Date SAS 的变量值
Keep variable values based on Date SAS
我有以下数据集:
Date Action
Jan2006 A
Jan2006 A
Jan2006 A
Jan2006 N
Jan2006 N
Feb2006 A
Feb2006 N
Feb2006 N
Mar2006 A
Mar2006 N
Mar2006 N
Apr2006 A
Apr2006 N
and so on until Dec2014.
我想做的是制作一个新的数据集,这样当它是年初(即 2006 年 1 月)时,我想同时保留 A 和 N,但只保留 N 和一年中剩余的月份(二月、三月……直到十二月)。所以上面的数据集应该如下所示:
Date Action
Jan2006 A
Jan2006 A
Jan2006 A
Jan2006 N
Jan2006 N
Feb2006 N
Feb2006 N
Mar2006 N
Mar2006 N
Apr2006 N
and so on until Dec2014.
如您所见,当月初(一月)时,我同时保留 A 和 N,但只有 N 和剩余的月份,直到我到达明年的月初(一月),并且然后重复该过程(即在 2007 年 1 月时保留 A 和 N,其余月份仅保留 N,其余所有年份均如此)。
执行此操作的最佳方法是什么?我知道我可能会使用某种条件 if then 语句,但我就是无法理解它。
你可以使用类似...我希望你的日期是日期格式,否则 substr 来获取 "Jan"
if month(date) ne 1 and Action= "A" then delete;
如果不是日期格式则
if substr(date,1,3) ne "Jan" and Action= "A" then delete;
我有以下数据集:
Date Action
Jan2006 A
Jan2006 A
Jan2006 A
Jan2006 N
Jan2006 N
Feb2006 A
Feb2006 N
Feb2006 N
Mar2006 A
Mar2006 N
Mar2006 N
Apr2006 A
Apr2006 N
and so on until Dec2014.
我想做的是制作一个新的数据集,这样当它是年初(即 2006 年 1 月)时,我想同时保留 A 和 N,但只保留 N 和一年中剩余的月份(二月、三月……直到十二月)。所以上面的数据集应该如下所示:
Date Action
Jan2006 A
Jan2006 A
Jan2006 A
Jan2006 N
Jan2006 N
Feb2006 N
Feb2006 N
Mar2006 N
Mar2006 N
Apr2006 N
and so on until Dec2014.
如您所见,当月初(一月)时,我同时保留 A 和 N,但只有 N 和剩余的月份,直到我到达明年的月初(一月),并且然后重复该过程(即在 2007 年 1 月时保留 A 和 N,其余月份仅保留 N,其余所有年份均如此)。
执行此操作的最佳方法是什么?我知道我可能会使用某种条件 if then 语句,但我就是无法理解它。
你可以使用类似...我希望你的日期是日期格式,否则 substr 来获取 "Jan"
if month(date) ne 1 and Action= "A" then delete;
如果不是日期格式则
if substr(date,1,3) ne "Jan" and Action= "A" then delete;