我目前在SAS脚本转换为R.工作,我是比较新的SAS,我有一个很难理解下面的语句 -SAS宏R%sysfunc
VARS=date id sales units
/* create lag event variable names to be used in the RETAIN statement */
%let vars_l = lag_%sysfunc(tranwrd(&vars,%str(),%str(lag_)));
这里,日期,id等都是我当前数据集中的变量。我了解功能tranwrd用于用Character变量中的另一个值替换值。在这种情况下,它创造了新的项目 -
vars_l = lag_date lag_id lag_sales lag_units
我说得对不对?什么是vars_l?这是一个列表吗?或者是这些变量添加到我的数据集? 还有什么是在以下代码中使用滞后%sysfunc?
%let vars_l = lag_%sysfunc(tranwrd(&vars,%str(),%str(lag_)));
是否创建了滞后变量,或者只是变量没有以lag_为前缀的变量?
我无法访问SAS或数据集来尝试并检查结果。任何对此的帮助都会很大。谢谢!
是。以下几行有合并命令和** RETAIN VARS_L **语句。但是,这是什么意思?创建了四个新的滞后列,但这些变量中的单元格值是多少? – RHelp
@RHelp:您确实需要发布完整的SAS代码(使用retain语句)。这取决于RETAIN变量初始化的值是什么。以及代码的后面部分如何进行分配。 – 2014-01-29 12:14:33