我有以下问题。
我正在尝试对我拥有的数据模型进行偏最小二乘预测。问题是我需要阻止某一行才能获得特定时间的预测。
我想要的是以下内容。 6月份,2014年5月之前的每一行都将被屏蔽(请参见下面的屏幕截图)。
对于五月,2014年4月之前的每一行都将被屏蔽(请参阅下面的屏幕截图)。
我正在考虑通过proc sql使用删除来执行此操作,但此解决方案似乎非常残酷,我希望保持我的表格完整。
问题:是否有办法在需要删除的特定日期时阻止该行?
非常感谢你能给我的任何见解,因为我以前从未这样做过,也不知道是否有办法做到这一点(我在网上找不到任何东西)。
修改:阻止的目的是使用缺失值并在2014年6月和2014年5月的第二个示例中运行此缺失月份的预测
答案 0 :(得分:0)
我不确定您打算使用什么程序,但您应该可以执行以下操作。
它基于一组不同的日期构建控件数据集,包括过滤器值和构建文本数据集名称。然后从数据 null 步骤调用此数据集。
对于这种循环行为,调用execute是一个非常强大的函数,需要你构建它将传递的字符串,就好像它们是代码一样。请注意,控件集中的列名是"外部"字符串并使用||连接它。另一种选择可能是使用了相当多的宏。
proc sql;
create table control_dates as
select distinct
nuov_date,
put(nuov_date,mon3.)||'_results' as out_name
from [csv_import];
quit;
data _null_;
set control_dates;
call execute(
'data '||out_name||';
set control_dates
(where=(nuov_date<'||nouv_date||'));
run;');
call execute('proc [analysis proc] data='||out_name||';run;');
run;