【发布时间】:2014-02-21 00:17:12
【问题描述】:
我目前正在将 SAS 脚本转换为 R。由于我对 SAS 比较陌生,因此很难理解以下语句 -
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 用于将字符变量中的另一个值替换为另一个值。在这种情况下,它将新项目创建为 -
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 或数据集来尝试检查结果。对此的任何帮助都会很棒。谢谢!
【问题讨论】:
标签: r sas lag file-conversion